Ember.ArrayController的数组模型中单个模型的观察者

时间:2014-07-04 02:43:35

标签: javascript ember.js observers

在控制器中我有以下观察者:

observesEachFooBar: function() {
    var foos = this.get('model');
    foos.forEach(function(foo) {
        foo.set('baz', foo.get('bar'));
    });
}.observes('model.@each.bar'),

每当foo的任何bar属性被修改时,它就会运行 然后迭代所有,并设置每个baz属性。

让我们说我想更加特别。 我想建立一个观察者,告诉我哪个人foo 已经更新, 所以我只需要更新那个。 这是怎么做到的?

1 个答案:

答案 0 :(得分:0)

您可以使用项目控制器执行此操作。这实际上意味着您在单个项目的级别设置观察者。

App.FooController = Em.ArrayController.extend({
  itemController: 'bar'
});

App.BarController = Em.ObjectController.extend({
  observesBar: function(){
    this.set('baz', this.get('bar'));
  }.observes('bar')
});