Angular报错参照または変数に割り当てることはできません!

ケース1:
コントロールの属性がtsファイルで定義された変数と同じ名前を持っている

たとえば、@ Input()key:string;

<div-model key="abc"></div-model>

ケース2:
この問題は、変数をHTMLファイルのngModelにバインドしたが、変数に値を割り当てていないことが原因です。

<input #assembleInquestion id="assembleInputquestion" (click)="question(assembleInquestion,assembleQuestion)"
                name="comb_question" class="wangEditor-container" [(ngModel)]="assembleQuestionName">

エラー

assembleQuestionName: string;   //  声明了变量,没有赋值

正しい

 assembleQuestionName = '';   //   改为这种声明方式

状況3:
配列をループして、配列の各要素を子コンポーネントの[(ngModel)]に配置すると、このエラーが発生します

<app-item *ngFor = "let item of data" [(ngModel)] = "item"></app-item>

この問題の理由は、ngModelがtsファイルでthis.itemを検索するが、tsファイルでアイテムを定義しなかったためです。
つまり、ngModelに渡される値はファイルのローカル変数である必要があり、一時的なアイテムは受け入れられません。

最終的な解決策は

<app-item *ngFor = "let item of data; let i=index" [(ngModel)] = "data[i]"></app-item>

indexOfを介して配列内のこのアイテムのインデックスを取得し、data [index]を介してngModelに直接渡します

おすすめ

転載: blog.csdn.net/u013475983/article/details/105846369