美文网首页前端
VUE 计算属性缓存 vs 方法

VUE 计算属性缓存 vs 方法

作者: 若年 | 来源:发表于2019-03-05 11:44 被阅读0次

在vue中,对于复杂逻辑,我们可以使用计算属性和方法来进行处理。如:

利用计算属性来实现:
<div id="example">
  <p>Original message: "{{ message }}"</p>
  <p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>
var vm = new Vue({
  el: '#example',
  data: {
    message: 'Hello'
  },
  computed: {
    // 计算属性的 getter
    reversedMessage: function () {
      // `this` 指向 vm 实例
      return this.message.split('').reverse().join('')
    }
  }
})

执行结果:
Original message: "Hello"

Computed reversed message: "olleH"

利用方法来实现:
<p>Reversed message: "{{ reversedMessage() }}"</p>
// 在组件中
methods: {
  reversedMessage: function () {
    return this.message.split('').reverse().join('')
  }
}

两种方式的最终结果确实是完全相同的.

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

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

我们为什么需要缓存?假设我们有一个性能开销比较大的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性依赖于 A 。如果没有缓存,我们将不可避免的多次执行 A 的 getter!如果你不希望有缓存,请用方法来替代。

相关文章

  • vue计算属性和侦听器

    祭出demo 计算属性 计算属性缓存vs方法函数 计算属性vs侦听属性 计算属性的setter 侦听器 在这个示例...

  • 计算属性computed vs 方法methods vs 侦听

    Vue.js 计算属性computed vs 方法methods computed是可以缓存的,基于它的依赖进行缓...

  • VUE 计算属性缓存 vs 方法

    在vue中,对于复杂逻辑,我们可以使用计算属性和方法来进行处理。如: 利用计算属性来实现: 执行结果:Origin...

  • [记录用]vue文档阅读要点笔记

    计算属性和侦听器 计算属性缓存 vs 方法 计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时...

  • Vue学习之计算属性和侦听器

    上一篇:Vue学习笔记之模板语法 计算属性 对于任何复杂逻辑,你都应当使用计算属性。 基础例子 计算属性缓存 vs...

  • Vue计算属性Vs方法

    Vue中的计算属性vs 方法在下面的代码定义了两个计算属性(reversedMessage、reversedMes...

  • 八、vue.js生命周期

    一、Vue生命周期 二、 计算属性 1.基本用法 2.计算属性 vs 方法 3.get和set 三、vue实例的属...

  • 计算属性缓存 vs 方法

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

  • vue.js 核心知识点五

    目录 - 5.1 常用自定义过滤器定义与使用 - 5.2 vue的计算属性 - 5.3 计算属性的缓存和方法调用...

  • Vue计算属性

    1、计算属性的定义 2、计算属性 vs 方法

网友评论

    本文标题:VUE 计算属性缓存 vs 方法

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