javascript - 通用计算属性模式的 Ember.js 简写

标签 javascript ember.js

在 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")

Link to Ember Source for Ember.computed.oneWay

关于javascript - 通用计算属性模式的 Ember.js 简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14965235/

相关文章:

javascript - Angular 自定义点击编辑 - 输入值到函数

javascript - 为什么主干 View 在早期代码之前呈现?

asp.net - umbraco tiny MCE 3 Internet Explorer 插入链接错误

javascript - Ember 中 HTMLBars Helper 的动态绑定(bind)属性

javascript - 延迟安装依赖项是什么意思

javascript - 如何使用 jQuery 对页面文本中的某个字符串执行某些操作?

javascript - 如何将类型对象的 json 数组传递给 MVC Controller 类

Ember.js:从嵌套路由调用 ApplicationRoute 的操作

javascript - 在 Ember 中编写 promise

ember.js - 从组件的模板调用闭包操作