我的Angular应用程序中有以下ngModel
。
<input [(ngModel)]="structuresInfo.structures_elements.se_element_setting[i]['setting_id']" type="text" name="playVoice_i" >
请注意,输入位于ngFor
内,i
可以从0到任意数字。如何在组件中定义structuresInfo
?
我有以下内容:
interface element_setting {
setting_id,
setting_value
}
interface settings {
se_element_setting: element_setting[]
}
...
structuresInfo:any = {
structures: {},
structures_elements:<settings> {
}
};
但是我仍然得到错误。这是错误消息:
Cannot read property '0' of undefined
答案 0 :(得分:0)
您必须将其初始化为一个空数组,否则必须检查它是否未定义。
interface element_setting {
setting_id,
setting_value
}
class settings {
se_element_setting: element_setting[];
constructor(){
this.se_element_setting = [];
}
}
...
structuresInfo:any = {
structures: {},
structures_elements:<settings> {
}
};
答案 1 :(得分:0)
structuresInfo.structures_elements.se_element_setting。 通常可能是因为您从服务器获取了它。因此,请确保将其初始化为[],或者可以添加:
<ng-content *ngIf="structuresInfo.structures_elements.se_element_setting">
...your ngFor
</ng-content>