我无法让观察者在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'属性正在更新。有什么建议吗?
2条答案
按热度按时间tgabmvqs1#
这是因为在pre4版本中,你不能在
Em.*.create()
函数上设置属性或可观察对象,你必须先使用.extend()
函数,并在其中设置所有属性和可观察对象,然后创建该对象。举个例子,看看这个jsfiddle,它正在使用扩展功能,然后试着只使用
create
来取消它,你会发现这个应用程序不再工作了。cetgtptt2#
或者使用createWithMixins()代替create()