在emberjs documentation http://emberjs.com/documentation/#toc_computed-properties-getters上,他说有两种方法可以定义计算属性。第一种是通过原型扩展,第二种是通过调用Ember.computed包装函数。
谁能告诉我他们之间的尊重是什么,如果其中一种方式比另一种更好,因为在示例代码中没有明显的尊重(或者我遗漏了什么?)
发布于 2012-06-01 22:19:14
这两种变体之间没有区别-除了Ember.computed方法更冗长。实际上,property变体在内部调用Ember.computed,请参见function.js中的定义。
packages/ember-runtime/lib/ext/function.js
Function.prototype.property = function() {
var ret = Ember.computed(this);
return ret.property.apply(ret, arguments);
};发布于 2012-06-01 17:08:34
我想最后也没有。如上所述,如果不喜欢扩展Function原型,可以使用Ember.computed。可能对元编程也很有用。
https://stackoverflow.com/questions/10846948
复制相似问题