Ember.js:观察所有对象属性

标签 ember.js

我想观察对象属性的所有变化。
在以下示例中,如果更改了名字或姓氏,我想由personChanged观察者通知。
但是我想在所有对象属性上应用一些通用的东西(使用Ember.keys()?)
如何用更通用的东西替换“名字”,“姓氏”?

在我的示例中:

更改personChangedfirstname时会调用lastname:

 App.MyObject: Ember.Object.create({
   firstname: 'first',
   lastname: 'last',
   personChanged: Ember.observer(function() {
            console.log("person changed");
   }, 'firstname', 'lastname') 
 })

最佳答案

使用内联观察器,您所拥有的是正确的,但是您仅遇到一些语法错误。但是,使用关键字observes甚至更简单。因此,我在下面对您的示例进行了一些调整。

App.MyObject: Ember.Object.create({
    firstname: 'first',
    lastname: 'last',
    personChanged: function() {
        //firstname or lastname changed
    }.observes('firstname','lastname')
});

注意:我在属性周围加了引号

来源: http://emberjs.com/guides/object-model/observers/

关于Ember.js:观察所有对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077439/

相关文章:

javascript - Ember.merge 不会触发属性更改

java - javascript emberjs 中的 List<Map<String, Object>> 中的 Json 值

javascript - 根据条件延长 Ember 等级

javascript - EmberJS 1.6.0 中的查询参数不更新 URL 或触发模型刷新

linux - 错误 : EACCES when creating new Ember project

javascript - 为什么 Controller 在 Ember 中是单例的?

javascript - 在 ember.js 中构建一个极其简单的身份验证系统

javascript - coffeescript 1.7 破坏了我的 ember.js 计算属性

javascript - 在 Ember.js 中加载关联模型

ember.js - 使用 Ember 路由器 v2 进入和退出模态状态的正确方法是什么?