在emberjs文档http://emberjs.com/documentation/#toc_computed-properties-getters,说有两种方法来定义计算属性。首先是通过原型扩展,第二是通过将函数包装到Ember.computed
的调用中。emberjs计算属性
谁能告诉我什么是他们之间,如果一个方法是优于其他的尊重,原因在示例代码中没有明显的尊重(或我思念的东西吗?)
在emberjs文档http://emberjs.com/documentation/#toc_computed-properties-getters,说有两种方法来定义计算属性。首先是通过原型扩展,第二是通过将函数包装到Ember.computed
的调用中。emberjs计算属性
谁能告诉我什么是他们之间,如果一个方法是优于其他的尊重,原因在示例代码中没有明显的尊重(或我思念的东西吗?)
两种变体之间没有区别 - 除了Ember.computed
方法更详细。实际上,property
变体在内部调用Ember.computed
,参见function.js中的定义。
包/烬运行时/ lib/ext目录/ function.js:
Function.prototype.property = function() {
var ret = Ember.computed(this);
return ret.property.apply(ret, arguments);
};
我想是没有的到底。如上所述,如果您不喜欢Function
原型扩展,则可以使用Ember.computed
。也可能对元编程有用。