【问题标题】:How can an observer find out the before and after values of a observed property in ember.js 1.x?观察者如何找出 ember.js 1.x 中观察到的属性的前后值?
【发布时间】:2013-07-04 00:04:42
【问题描述】:

我想知道的是如何做到这一点How can an observer find out the before and after values of the observed property in Ember.js? 使用 Ember.JS 的最新版本。

现在 beforeObserver 和observer 只发送'this'(正在观看的对象)和查询。 Here 和例子。

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)的情况下,这将不起作用。

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    为了观察数组的变化,你可以使用函数 addArrayObserver 然后重写这两个函数 willChange 和 didChange 来读取变化。

    我创建了一个 jsbin 作为 example

    更多信息请访问this链接。

    【讨论】:

    • 这适用于观察添加/删除的变化,但不适用于数组元素中的属性变化(如array.@each.name
    猜你喜欢
    • 2023-03-16
    • 2016-12-28
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    相关资源
    最近更新 更多