我怎么会知道哪些对象已更新的型号。各@ EmberJS

问题描述 投票:1回答:1

我试着去改变对象列表的对象属性,并希望得到它更改后正确的对象。

我的方法是通过[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帮手内部的对象。

javascript ember.js
1个回答
0
投票

你正在尝试也不是没有可能增加,你可以“差别”当观察者火灾和随后更新附加状态。我不推荐这种方法

相反,改变对象的函数应该然后调用更新代码。这是很容易用行动+服务来实现的。假设无论触发您更新发送模式的索引更新和新的价值(我只是在这里展示,因为你并没有包括如何你的对象改变)

actions: {
  updateModelAtIndex(index, prop){
    let modelToUpdate = this.get('model')[index];
    modelToUpdate.set('property', prop);

    let service = this.get('someInjectedService');
    service.save(modelToUpdate);
  }
}

现在,在旧版本的灰烬与2路的结合,这是不容易的拦截这些变化(当他们绑定表单域变化的结果),你不得不依赖于观察者作为当前的代码一样。转换为1路约束的方法,把表单元素发出的动作,你只更新一个行动处理器模型修复此。

© www.soinside.com 2019 - 2024. All rights reserved.