2
データベースに何かを追加できるポップアップウィンドウがあります。ダイアログが閉じない
VM247 1:1 Uncaught TypeError: Cannot set property 'result' of undefined
をあなたはまだボックス内のテキスト/数字を入力し、Enterキーを押し保存した場合、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