我试着去改变对象列表的对象属性,并希望得到它更改后正确的对象。
我的方法是通过[email protected]_1
名单上观察属性更改
export default Ember.Controller.extend({
onModelProperty1Change: function(){
// How can i get that particular object after one of it
// property was changed inside here?
//
// do some database action to the object...
}.observes('[email protected]'),
});
我不知道这是一个正确的做法。或者我应该去改变事件元素呢?无论哪种方式,我需要知道它有可能获得observes
帮手内部的对象。
你正在尝试也不是没有可能增加,你可以“差别”当观察者火灾和随后更新附加状态。我不推荐这种方法
相反,改变对象的函数应该然后调用更新代码。这是很容易用行动+服务来实现的。假设无论触发您更新发送模式的索引更新和新的价值(我只是在这里展示,因为你并没有包括如何你的对象改变)
actions: {
updateModelAtIndex(index, prop){
let modelToUpdate = this.get('model')[index];
modelToUpdate.set('property', prop);
let service = this.get('someInjectedService');
service.save(modelToUpdate);
}
}
现在,在旧版本的灰烬与2路的结合,这是不容易的拦截这些变化(当他们绑定表单域变化的结果),你不得不依赖于观察者作为当前的代码一样。转换为1路约束的方法,把表单元素发出的动作,你只更新一个行动处理器模型修复此。