首页 > 解决方案 > 角度“ngModel”类型错误:无法读取未定义的属性“0”

问题描述

ngModel我的Angular 应用程序中有以下内容。

<input  [(ngModel)]="structuresInfo.structures_elements.se_element_setting[i]['setting_id']" type="text" name="playVoice_i" >

请注意,输入在 a 内ngFori可以是从 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

标签: angular

解决方案


您必须将其初始化为一个空数组,否则您必须检查它是否未定义。

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> {
    }
};

推荐阅读