如何在控制器上设置可观察的属性

时间:2014-02-11 12:10:17

标签: ember.js

为了在控制器中拥有值,我通常会这样做:

this.name = value;

但如果必须遵守该属性,则无法执行此操作:需要使用.set。但是在控制器上执行this.set('name', value);会在相应的模型上设置属性,这不是我想要的;它会使模型混乱,数据无论如何都不会被发送到服务器。

是否可以在控制器上设置可观察属性?

1 个答案:

答案 0 :(得分:1)

您可以向控制器添加属性。在下面的示例中,添加了属性“valueToObserve”:

    App.TestController = Ember.ObjectController.extend({
        valueToObserve: 1,

        observerFunction: function() {
            console.log('valueToObserve has changed');
        }.observes('valueToObserve'),

        actions: {
          someAction: function() {
            this.set('valueToObserve', 2);
          }
        }
    });

每当valueToObserve更改时,函数observerFunction都会被触发。我希望这会有所帮助。