美文网首页
Vue 的计算属性 computed

Vue 的计算属性 computed

作者: 凤箫之舞 | 来源:发表于2019-12-27 17:24 被阅读0次

    写法:

      computed: {
        // 计算属性的 getter
        reversedMessage: function () {
          // `this` 指向 vm 实例
          return this.message.split('').reverse().join('')
        }
      }
    

    用法:

    <div id="example">
      <p>Original message: "{{ message }}"</p>
      <p>Computed reversed message: "{{ reversedMessage }}"</p>
    </div>
    

    计算属性允许我们对指定的视图,复杂的值计算。
    这些值将绑定到依赖项值,只在需要时更新。

    [计算属性缓存 vs 方法]

    通过在表达式中调用方法来达到同样的效果:

    <p>Reversed message: "{{ reversedMessage() }}"</p>
    
    // 在组件中
    methods: {
      reversedMessage: function () {
        return this.message.split('').reverse().join('')
      }
    }
    

    我们可以将同一函数定义为一个方法而不是一个计算属性。
    两种方式的最终结果确实是完全相同的。

    然而,不同的是计算属性是基于它们的响应式依赖进行缓存的。
    只在相关响应式依赖发生改变时它们才会重新求值。
    这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。

    相比之下,每当触发重新渲染时,调用方法将总会再次执行函数

    相关文章

      网友评论

          本文标题:Vue 的计算属性 computed

          本文链接:https://www.haomeiwen.com/subject/xgbdoctx.html