我想知道的是如何做到这一点观察员如何在Ember.js中找到被观察属性的前后值?使用Ember.JS.的最后一个版本
现在beforeObserver和observer只发送"this"(正在监视的对象)和查询。这里举个例子。
fooWillChange: function() {
console.log(
arguments.length, //2
arguments[0] == this, //true
arguments[1] == 'foo' //true
);
}.observesBefore('foo'),
fooDidChange: function() {
//exactly equal fooWillChange
}.observes('foo')
在"foo"的情况下,我可以使用get
来选择值,但在观察数组内部的属性(如bar.@each.name
)的情况下这将不起作用。
为了观察数组的变化,您可以使用函数addArrayObserver,然后覆盖两个函数willChange和didChange来读取变化。
我创建了一个jsbin作为的例子
有关更多信息,请访问此链接。