请参阅ud3323提供的另一个问题的解决方案:http://jsfiddle.net/ud3323/ykL69/.此解决方案使用红色突出显示更改的值.我有一个额外的要求:如果该值增加了绿色突出显示,如果它的红色突出显示为红色.为此,我需要知道观察者中的旧值和新值.有没有办法做到这一点?
PS Embers文档没有说明观察者功能中可用的内容.我从示例中可以看出,由于观察者是在itemRowView中定义的,因此"this"指向itemRowView.
And*_*aus 16
beforeObserver
已在Ember 1.10中弃用.
而是使用手动缓存:
doSomething: Ember.observer( 'foo', function() {
var foo = this.get('foo');
var oldFoo = this.get('_oldFoo');
if (foo === oldFoo) { return; }
// Do stuff here
this.set('_oldFoo', foo);
})
Run Code Online (Sandbox Code Playgroud)
Luk*_*lia 12
看看beforeObserver
s.一beforeObserver
前一属性更改火灾.因此,如果您get
是beforeObserver中的属性,则您将拥有更改前的值.您可以使用Ember.addBeforeObserver
或通过observesBefore
函数原型扩展来设置此类观察者.
这将为您提供实现目标所需的一切.我已经基于你的小提琴创建了以下JSBin来演示这个:http://emberjs.jsbin.com/qewudu/2/edit
更新于2014-10-07以反映Ember 1.7.x中的行为.
2015-02更新:beforeObserver
已被弃用.请参阅此问题的其他答案.
归档时间: |
|
查看次数: |
12016 次 |
最近记录: |