2
我有一个弹出窗口,您可以在其中添加内容到数据库。但是,当您在名称字段点击我在控制台中的错误,他说:对话框没有关闭
VM247 1:1 Uncaught TypeError: Cannot set property 'result' of undefined
如果仍然输入文本/在框中,然后按编号保存,在popupwindow只是负载。但是,当刷新视图时,实体将保存到数据库中。
任何人都知道这个原因?
下面是HTML:
<div class="row">
<md-input-container class="md-block" flex-gt-xs>
<label>Name</label>
<input ng-model="csc.user.newEntry.Name" onfocus="csc.saveData.result = ''" />
<div ng-messages="csc.user.newEntry.Name.$error" ng-show="csc.saveData.result < 0">
<div>Duplicate Name</div>
</div>
</md-input-container>
</div>
角:
saveEntry: function() {
vm.savingActivated = true;
vm.saveData = EntriesResource.save(vm.user.newEntry,
() => {
vm.savingActivated = false;
console.log(vm.saveData.result);
if (vm.saveData.result > 0) {
$rootScope.$broadcast("EntriesUpdated");
$mdDialog.hide();
}
谢谢你的回答,但它没有奏效。我尝试在saveData之前初始化它,但是我仍然收到错误“无法设置未定义的属性结果”。 – wavejumper
生动的问题是它试图将属性'result'设置为'csc.saveData',但尚未定义。但我不知道哪一行完全抛出这个错误,所以我不能确定哪一行是在此之前初始化对象所需的行。当然我有一个错误,我在我的回答中修复了 – Reyraa
哦,如果你第一次设置'result',然后调用'saveEntery'函数,那么初始化必须在外部之前,并且在此函数之前 – Reyraa