self.resultList.forEach(function(item, index, enumerable){
console.log(self.resultList);
item.id=11;
item.get('id');
});
这样的项目:
如果item.id = 11;
像这样的例外:
断言失败:您必须使用Ember.set()来访问此属性( [object Object])
所以item.get('id')或item.set('id',11)
像这样的例外
未捕获的TypeError:对象#没有方法'get'
这个项目不是Ember的对象吗?那么项目是什么?
有人可以告诉我如何改变'itme.id的价值......
万分感谢
答案 0 :(得分:21)
您可以使用Ember.set(yourObject, propertyName, value);
和Ember.get(yourObject, propertyName);
安全地设置和获取属性。
在你的情况下:
self.resultList.forEach(function(item, index, enumerable) {
Ember.set(item, "id", 11);
Ember.get(item, "id");
});
答案 1 :(得分:0)
就我而言,我是这样做的
//In my controller I've defined the array
displayInfoCheckboxes: [
{
turnover: {
label: "Turnover",
value: 1,
propertyName: "turnover"
}
}, {
pl: {
label: "P&L",
value: 1
}
}
]
//and in my handler I passed the full string path to the property in the set method
let displayInfoCheckboxes = this.get('displayInfoCheckboxes');
let controller = this;
displayInfoCheckboxes.forEach(function(items,index) {
for (var key in items) {
controller.set('displayInfoCheckboxes.' + index + '.' + key + '.value', false);
}
})