Ember.js是通用计算属性模式的简写
Ember.js shorthand for common computed property pattern
在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
Ember.computed.alias 的Ember源链接
更新:Ember.computed.oneWay
最近,Ember中添加了一个新的计算属性简写(oneWay
),这对于这个需求也是可行的。不同之处在于oneWay
简写仅适用于get情况。因此,在对象创建过程中,这种简写比更复杂的alias
更快。
someProp: Ember.computed.oneWay("otherObject.prop")
Ember.computed.oneWay 的Ember源链接
相关文章:
- 数据属性仅在切换设备模式下工作
- PhoneGap 2.0(Cordova)DatePicker插件'模式'-属性以获取日期和时间
- 如何在javascript对象中设置属性的类型,就像mongoose模式设计一样
- 为什么在原型中定义属性被视为反模式
- 为什么除了html5输入模式属性之外,这个简单的regex在任何地方都能工作
- 输入元素模式属性的Javascript正则表达式在reFiddle上有效,但在页面上无效
- 对象绑定模式的rest属性应该是最后一个
- JS:两个或多个非严格模式下具有相同名称的对象属性
- 从引导模式窗口中删除模式属性
- 为什么输入模式属性不适用于数字
- 如何在文本框上使用模式属性
- 如何使用HTML5使用模式属性仅验证CSV文件上传
- 输入元素模式属性的行为不象regex
- 输入模式属性以更改输入框的颜色
- 如何在Mongoose中将模式属性设置为SubDocument类型
- 适当模拟“模式”属性
- 使用锚点作为提交按钮会导致模式属性无法验证
- 切换对话框的“模式”属性打开时
- 使用websockets激活HTML5模式属性
- Angular中的模式属性(硬编码版本可以,动态版本不行)