1
我在ng2 rc4中開發,我的用戶數據存儲在Mongo DB中。用戶可以在我的頁面中編輯他們的數據,但我的編輯頁面有問題。我的來源是這樣的:如何在AngularJS 2表達式中使用Json(Mongo DB)數據
import { User } from './user.service.ts';
@component(
selector: 'edit-user',
template: `
Email : <input type="text" [(ngModel)]="userInfo.email"><br />
Name : <input type="text" [(ngModel)]="userInfo.name"><br />
Address : <input type="text" [(ngModel)]="userInfo.address"><br />
Tel :
<input type="text" [(ngModel)]="userInfo.tel.tel1">-
<input type="text" [(ngModel)]="userInfo.tel.tel2">-
<input type="text" [(ngModel)]="userInfo.tel.tel3"><br />
<button>Submit</button>
`,
providers: [ User ]
)
export class EditUser {
private userInfo: any = {
'email': '',
'name': '',
'address': '',
'tel': {
'tel1': '',
'tel2': '',
'tel3': ''
}
};
constructor(private user: User) {
}
ngOnInit() {
this.getUser();
}
getUser() {
this.user.getUser(...)
.then(res => {
...
// case 1
// res = {'email': '[email protected]', 'name': 'NameA', 'address': 'aaa', 'tel': {'tel1': '1', 'tel2': '2', 'tel3': '3'}};
// case 2
// res = {'email': '[email protected]', 'name': 'NameB'};
this.userInfo = res;
...
})
.catch(...)
}
}
一切進展順利時,在情況1,但情況2,沒有電話對象,輸入標籤拋出,因爲在資源缺少的電話對象的錯誤。用戶在案例2中沒有輸入電話信息。所以這是一個雙向綁定錯誤:未定義userInfo的tel屬性。不要表達,不要輸入tel.tel1屬性。
我無法更改mongoDB和json層次結構。我該如何解決這個問題?
我知道。但那不是對我的回答。 res有很多類似tel的屬性。 – mago
這就是發送空對象到mongoDB。我不想要它。 – mago