在 Ember.js 中,我发现自己定义了如下所示的计算属性:
someProp: function(){
return this.get('otherProp');
}.property('otherProp')
或
someProp: function(){
return this.get('otherObject.prop');
}.property('otherObject.prop')
是否有更短的方法来编写遵循这些模式的计算属性?
最佳答案
经过一些研究,您可以在 Ember.computed.alias 的帮助下执行以下操作,将其稍微弄清楚:
someProp: Ember.computed.alias("otherObject.prop")
您也可以使用 alias
来设置此属性。给定一个实现上述属性的 Ember 对象,您可以:
obj.set("someProp", "foo or whatever"); // The set will be propagated to otherObject.prop
Link to Ember Source for Ember.computed.alias
更新:Ember.computed.oneWay
最近在Ember中加入了一个新的计算属性简写(oneWay
),对于这个需求也是可行的。不同之处在于,oneWay
简写仅适用于 get 情况。因此,在对象创建过程中,这种速记比更复杂的 alias
更快。
someProp: Ember.computed.oneWay("otherObject.prop")
关于javascript - 通用计算属性模式的 Ember.js 简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965235/