为了在控制器中拥有值,我通常会这样做:
this.name = value;
但如果必须遵守该属性,则无法执行此操作:需要使用.set
。但是在控制器上执行this.set('name', value);
会在相应的模型上设置属性,这不是我想要的;它会使模型混乱,数据无论如何都不会被发送到服务器。
是否可以在控制器上设置可观察属性?
答案 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
都会被触发。我希望这会有所帮助。