为什么在vue.js中使用计算属性?

为什么在vue.js中使用计算属性?,vue.js,Vue.js,我是vue.js的初学者。使用computed属性而不是方法的原因是什么。我问这个问题的原因是,因为computed属性和方法都做相同的事情方法可以获取属性,需要手动调用,而computed不是。 另外,在多个用户同时使用时,不需要克隆代码。考虑一下计算属性,就像是附加逻辑的快捷方式 在模板中加入太多的逻辑会使它们臃肿,难以维护。例如: <div id="example"> {{ message.split('').reverse().join('') }} </div&g

我是vue.js的初学者。使用computed属性而不是方法的原因是什么。我问这个问题的原因是,因为computed属性和方法都做相同的事情

方法可以获取属性,需要手动调用,而computed不是。 另外,在多个用户同时使用时,不需要克隆代码。考虑一下计算属性,就像是附加逻辑的快捷方式

在模板中加入太多的逻辑会使它们臃肿,难以维护。例如:

<div id="example">
  {{ message.split('').reverse().join('') }}
</div>
差异


但我认为主要的区别在于缓存。当您调用方法5次时,您将得到5次计算。另一方面,计算属性只计算一次(更改时),然后返回缓存值。

方法可以获取属性,需要手动调用,而不是计算。 另外,在多个用户同时使用时,不需要克隆代码。考虑一下计算属性,就像是附加逻辑的快捷方式

在模板中加入太多的逻辑会使它们臃肿,难以维护。例如:

<div id="example">
  {{ message.split('').reverse().join('') }}
</div>
差异

但我认为主要的区别在于缓存。当您调用方法5次时,您将得到5次计算。另一方面,计算属性只计算一次(更改时),然后返回一个缓存值。

您可以读取的可能重复项。您可以读取的可能重复项。
var vm = new Vue({
  el: '#example',
  data: {
    message: 'Hello'
  },
  computed: {
    // a computed getter
    reversedMessage: function () {
      // `this` points to the vm instance
      return this.message.split('').reverse().join('')
    }
  }
})