在控制器中我有以下观察者:
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
已经更新,
所以我只需要更新那个。
这是怎么做到的?
答案 0 :(得分:0)
您可以使用项目控制器执行此操作。这实际上意味着您在单个项目的级别设置观察者。
App.FooController = Em.ArrayController.extend({
itemController: 'bar'
});
App.BarController = Em.ObjectController.extend({
observesBar: function(){
this.set('baz', this.get('bar'));
}.observes('bar')
});