Angular 无法读取属性';单位';未定义的
我已经在angular中创建了一个模板驱动的表单。但我得到了错误,因为无法读取未定义的属性“单位”。我还创建了一个模型。并在ts文件中定义。仍然收到此错误。请提供任何帮助 user-choice.component.htmlAngular 无法读取属性';单位';未定义的,angular,Angular,我已经在angular中创建了一个模板驱动的表单。但我得到了错误,因为无法读取未定义的属性“单位”。我还创建了一个模型。并在ts文件中定义。仍然收到此错误。请提供任何帮助 user-choice.component.html <form name="form" #f="ngForm" class="form-horizontal"> <div class="border mt-2 p-2 pt-4"> <div class="form-row">
<form name="form" #f="ngForm" class="form-horizontal">
<div class="border mt-2 p-2 pt-4">
<div class="form-row">
<div class="form-group col-md-12">
<label for="units">
Please specify the number of units being used: </label>
<input type="number" min="1" max="12" class="col-sm-2 pr-0 pl-0 col-form-label" [(ngModel)]="userChoice.units.value" name="units" >
</div>
</div>
</form>
user-choice.model.ts
import { BasicSearchModelI } from '../../../../../core/base';
export class UserChoiceModel {
units: BasicSearchModelI = {
value: ''
};
qty: BasicSearchModelI = {
value: ''
};
desc: BasicSearchModelI = {
value: ''
};
}
您的模型名是
userChoiceModel
,但在模板中,您使用的是userChoice
。您需要将ngModel
更新为[(ngModel)]=“userChoiceModel.units.value”
现在,您只需在组件中初始化userChoiceModel
。您所做的只是给它一个类型,但它的值仍然是未定义的。您可以这样初始化它
userChoiceModel:userChoiceModel=newuserchoicemodel();
您对此有stackblitz吗?
import { BasicSearchModelI } from '../../../../../core/base';
export class UserChoiceModel {
units: BasicSearchModelI = {
value: ''
};
qty: BasicSearchModelI = {
value: ''
};
desc: BasicSearchModelI = {
value: ''
};
}