在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")
您也可以使用别名来设置此属性.给定一个实现上面给出的属性的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
最近,一个新的计算属性速记(oneWay)被添加到Ember,这对于这个要求也是可行的.区别在于oneWay简写只适用于get case.因此,在创建对象时,这种速记比更复杂的别名更快.
someProp: Ember.computed.oneWay("otherObject.prop")
原文地址:https://www.jb51.cc/js/158645.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。