2

我无法让观察者在 Ember.js 中实际做任何事情。基本上,我有一个 Ember.Select 下拉菜单,并希望将更多操作绑定到选择下拉列表中的值的事件。例如:

App.selectedPersonController = Ember.Object.create({
  person: null,
  personDidChange: function() {
    // do something here when the person changes
    console.log("PERSON CHANGED")
  }.observes('person')
});

即使 'person' 属性正在更新,什么也没有发生。有什么建议么?

4

2 回答 2

6

这是因为从 pre4 版本开始,您无法在Em.*.create()函数上设置属性或可观察的。您必须首先使用该.extend()函数并在其中设置所有属性和可观察对象,然后创建该对象。

例如,看看这个使用扩展功能的jsfiddle 。然后尝试通过仅使用将其带走create,您会发现该应用程序不再有效。

于 2013-02-12T20:01:48.900 回答
3

或者使用 createWithMixins() 而不是 create()

于 2013-04-26T18:38:48.693 回答