我想将 [(ngModel)] 用于嵌套对象,但给了我一个错误
Cannot read property 'mxn' of undefined
这些是我的模型的数据结构:
公司.model.ts
import Currency from './currency.model';
class Company {
_id: string;
name: string;
maxLimit: number;
source: [string];
deliveryMethod: [string];
currency: Currency;
date: Date;
constructor() {
this.name = '';
this.date = new Date();
this.maxLimit = 0;
this.source = [''];
this.deliveryMethod = [''];
this.currency.mxn = 0;
this.currency.php = 0;
}
}
export default Company;
货币模型.ts
class Currency {
mxn: number;
php: number;
constructor() {
this.mxn = 0;
this.php = 0;
}
}
export default Currency;
这是company.ts的一部分
public newCompany: Company = new Company();
companiesList: Company[];
editcompanies: Company[] = [];
和 HTML
在 HTML 页面中,我可以mxn
通过使用来显示值:
<tr class="companies" *ngFor="let company of companiesList">
{{company.currency.mxn}}
但是当我想将它与ngModel
双向绑定一起使用来更新值并将其发送到数据库时它不起作用。
[(ngModel)] = "newCompany.currency.mxn"
它会产生上面提到的错误。如果我使用
[(ngModel)] = "newCompany.currency"
它不会给我一个错误,但它是无用的代码,因为我不能为mxn
.
我不得不说它可以[(ngModel)] = "newCompany.name"
正常工作,我可以更新名称。
当我使用 Postman 进行尝试时,后端工作正常。问题是有棱角的一面。
所以问题是我的数据结构是否正确,如何对嵌套对象使用双向绑定?