我正在尝试将数据推送到此CompareArray
中,但出现以下错误:
TypeError: Cannot read property 'push' of undefined
at Object.addResult (src\services\CompareService.js:22)
代码:
this.addResult = function (type, result) {
this[type.toLowerCase() + 'CompareArray'].push(result);
this.checkToDisplayLinks(type);
this.checkToDisableCheckboxes(type);
};
答案 0 :(得分:0)
在推送任何内容之前,请检查其是否未定义和初始化
if(this[type.toLowerCase() + 'CompareArray']){
this[type.toLowerCase() + 'CompareArray'].push(result);
}
else
{
this[type.toLowerCase() + 'CompareArray'] = [result];
}
答案 1 :(得分:0)
如果仔细观察,错误就是自我描述。
Cannot read property 'push' of undefined at Object.addResult
addResult是您的方法。您正在
上进行“推送”this[type.toLowerCase() + 'CompareArray'].push(result);
它说的-未定义的“推”。表示
this[type.toLowerCase() + 'CompareArray']
未定义。推是仅在数组上可用的方法。
希望这会有所帮助。