我的表單上發生了一件奇怪的事情,或者我的行爲不正確,請讓我通過展示我的代碼向您解釋。在第三個屬性級別中的Angular2 ngModel綁定未定義
我定義我的組件
form = {};
有與數據每行一個按鈕內部表單對象,當你點擊它會打開一個模式寡婦,也通過該項目作爲參數。
<a class="btn btn-warning" (click)="open(item)"><i class="glyphicon glyphicon-pencil"></i></a>
這是火災和打開一個模式窗口,而且分配的項目對象以形成上述目的的方法:通過打印出來這樣
open = (item: any) => {
this.inventoryEditModal.open(); //Opens a modal window
this.form = item; // the assignment
}
Item對象是可在圖:
{{ form | json }} // i can see all item properties
模態窗口包含一個表單,用戶將編輯的項目,所以基本上輸入表單字段應該得到裝滿物品的屬性值,但由於某種原因,第三水平是不確定的,我不明白爲什麼,讓我告訴你的第二個層次的截圖
<input type="text" class="form-control" [(ngModel)]="form.alarmSystem" name="wireless">
第三層次得到未定義:
<input type="text" class="form-control" [(ngModel)]="form.alarmSystem.wireless" name="wireless">
此問題僅在第三級「object.object.property」中發生。我只顯示一個輸入字段,但表單中包含8個以上的字段,它們都有相同的問題。
不知道我在這裏錯過了什麼,但從邏輯上說它應該工作。你有沒有看到這個問題在這裏或那裏發生或經歷過你自己?
預先感謝您。
事實上,第二級是未定義「不能讀取屬性的未定義「無線」 = alarmSystem是未定義的。你是否也嘗試過'console.log(form.alarmSystem)'? – Supamiu
是的,我已經嘗試過了,所以基本上整個對象在視圖中都可用,當我打印出來和alarmSystem時也是如此。 – itismelito