Ember.js 绑定或计算属性有什么更好的性能?

Ember.js 绑定或计算属性有什么更好的性能?,ember.js,Ember.js,我已经讨论过很多次了,我仍然不知道定义以下对象属性的最佳方法是什么 方案A name: Em.Binding.oneWay(‘content.name’); 方案B name: Em.computed(function(){ return this.getPath(‘content.name’); }).property(‘content.name’).cacheable() 那么简单地说: nameBinding: 'content.name' 你的评测测试说什么?你在寻找

我已经讨论过很多次了,我仍然不知道定义以下对象属性的最佳方法是什么

方案A

name: Em.Binding.oneWay(‘content.name’);
方案B

 name: Em.computed(function(){ 
   return this.getPath(‘content.name’); 
 }).property(‘content.name’).cacheable()
那么简单地说:

nameBinding: 'content.name'

你的评测测试说什么?你在寻找哪种性能指标?您想如何衡量它?从文档:
单向绑定的设置速度几乎是原来的两倍,执行速度几乎是原来的两倍,因为绑定只需要担心一侧的更改。
,所以前面描述的选项A比您的解决方案快。我现在有Tom Dale在我面前,让我解释一下:“这种性能差异肯定不会成为应用程序的瓶颈/这肯定是过早的优化"... 我没有什么要补充的。我同意认为这是一个过早的优化,我从不想否定Tom Dale的观点,但我想它还是快了一点——正如文档中所说的那样。-MikeAski,这里可能有两个不同的问题,或者我可能不太理解。我上面的2个选项可能是过早的优化,它们之间没有太大的区别,但是正如louiscoquio提到的单向绑定比双向更快,“使用单向绑定”也可能被认为是过早的优化吗?我打开了一个关于单向双向绑定的对话框。ppcano在你的问题中,你没有明确你想要的“最佳”方式。因此,在我看来,最好的方法是@MikeAski的答案,这是最具可读性和简洁性的。如果您在这个绑定中遇到性能问题,那么我更喜欢您的OptionA,它比OptionB更可读