角度のあるテンプレート駆動型フォームを作成しました。しかし、未定義のプロパティ「ユニット」を読み取れないため、エラーが発生します。モデルも作成しました。また、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">
<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.component.ts
import { Component, OnInit ,Input} from '@angular/core';
import { UserChoice } from './user-choice.model';
@Component({
selector: 'app-user-choice',
templateUrl: './user-choice.component.html',
styleUrls: ['./user-choice.component.css']
})
export class UserChoice implements OnInit {
constructor() { }
userChoiceModel: UserChoiceModel;
@Input() unitBase:any;
ngOnInit() {
}
}
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
で、コンポーネントを初期化するだけで済みます。あなたがしたことは、それにタイプを与えることですが、その値はまだundefined
です。あなたはそれをそのように初期化することができます
userChoiceModel: UserChoiceModel = new UserChoiceModel();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加