Я хочу использовать [(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;
валюта.модель.тс
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. проблема угловая сторона.
поэтому вопрос в том, верна ли моя структура данных, как я могу использовать двустороннюю привязку для вложенного объекта?