我无法让观察者真正在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'属性正在更新,也没有任何事情发生。有什么建议?
答案 0 :(得分:6)
这是因为从版本pre4开始,您无法在Em.*.create()
函数上设置属性或可观察对象。您必须首先使用.extend()
函数并在其中设置所有属性和可观察对象,然后创建该对象。
举个例子,看一下使用扩展功能的jsfiddle。然后尝试仅使用create
将其删除,您会看到该应用不再有效。
答案 1 :(得分:3)
或者使用createWithMixins()而不是create()