美文网首页
什么情况使用计算属性

什么情况使用计算属性

作者: 家乡_a6ce | 来源:发表于2021-11-19 10:59 被阅读0次

1、分离逻辑

需求如下:

// 给定文本 text,去除其首尾空白,然后将其反转显示。
// 例:
const text = '花费'
// ==> 花费

不使用计算属性,代码长这样:

<template>
  <div id="example">
    {{ text.split('').reverse().join('') }}
  </div>
</template>

<script>
export default {
  data: () => ({
    text: '花费'
  })
}
</script>

使用计算属性后,代码长这样:

<template>
  <div id="example">
    {{ normalizedText }}
  </div>
</template>

<script>
export default {
  data: () => ({
    text: ''花费"
  }),
  computed: {
    normalizedText() {
      return this.text.split('').reverse().join('')
    }
  }
}
</script>

显而易见,使用计算属性后,相关逻辑放在了 computed 选项内,模板更干净了

Vue 中我们不需要在 template 里面直接 {{ text.split('').reverse().join('') }}实现该功能,因为在模版中放入太多声明式的逻辑会让模板本身过重,尤其当在页面中使用大量复杂的逻辑表达式处理数据时,会对页面的可维护性造成很大的影响,而 computed 的设计初衷也正是用于解决此类问题。

在一个计算属性里可以完成各种复杂的逻辑,包括运算、函数调用等,只要最终返回一个结果就可以。

2、缓存值

接上例,如果我们不去改变 text 的值,那么 normalizedText 就不会重新计算,也就是说,normalizedText 会缓存其求值结果,直到其依赖 text 发生改变。我们可以测试一下:

3、双向绑定

我们可以利用计算属性的 getter 和 setter 实现数据的双向绑定:

使用场景:计算属性适合用在模板渲染中,某个值是依赖了其它的响应式对象甚至是计算属性计算而来

相关文章

  • 什么情况使用计算属性

    1、分离逻辑 需求如下: 不使用计算属性,代码长这样: 使用计算属性后,代码长这样: 显而易见,使用计算属性后,相...

  • Vue中的computed怎么理解?是如何实现的?

    Vue中computed怎么理解?是如何实现的?computed 又称计算属性,什么情况下会用到计算属性,我们直接...

  • computed和methods的区别

    Vue中computed怎么理解?computed 又称计算属性, 什么情况下会用到计算属性,我们直接上代码理解一...

  • 监听器和计算属性的区别watch,computed

    计算属性computed和监听器watch区别?1.能使用计算属性computed的尽量使用计算属性,但是计算属性...

  • computed深入

    计算属性set/get 计算属性 (单向)在computed属性对象中定义计算属性的方法,在页面使用{{方法名}}...

  • vue 计算属性computed

    computed计算属性 对于任何复杂逻辑,你都应当使用计算属性 计算属性中的setter 计算属性默认只有 ge...

  • 2020-07-28

    了解Vue计算属性的实现原理 computed的作用 在vue的开发中,我们不免会使用到计算属性,使用计算属性,v...

  • Vue基本语法和生命周期

    计算属性和监视 计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果 ...

  • Vue的基本语法和生命周期

    一、计算属性 计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果 监...

  • Vue的基本语法和生命周期

    一、计算属性 计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果 监...

网友评论

      本文标题:什么情况使用计算属性

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