我有以下代码
var object = Ember.Object.create({
foo: Ember.computed.alias('bar'),
bar: function(){
console.log('bar');
}
});
object.foo();
提出
TypeError: object is not a function
有没有惯用的方法来实现这个目标?
答案 0 :(得分:3)
Ember.computed.alias
仅适用于计算属性。相反,请使用aliasMethod计算函数。
var object = Ember.Object.create({
foo: Ember.aliasMethod('bar'),
bar: function() {
console.log('bar');
}
});
object.foo();
编辑:我以前认为你可以做o.get('foo')()
之类的事情来使用Ember.computed.alias
来调用方法,但事实证明并非如此。不是100%肯定为什么,但它在我设置的JSBin中不起作用。无论哪种方式,aliasMethod
都可以。