vue计算属性及函数的选择

 更新时间:2022年05月08日 16:57:07   作者:​ 劉溜溜   ​  
这篇文章主要介绍了vue计算属性及函数的选择,文章围绕主题的相关资料展开详细介绍,需要的小伙伴可以参考一下

一、计算属性

使用场景

从已有的数据A中计算等到的新的数据B,使用计算属性。

如果一个结果需要依赖data中的数据,但是需要经过一些逻辑处理,才能得到你想要的数据。此时就可以使用计算属性。

定义格式

在vue实例中,补充computed配置项

普通写法

{
    data(){},
    methods: {}
    // 声明计算属性
    computed: {
        //属性名字(计算属性名称)
        //属性的值(计算属性处理函数)
        计算属性名1 () {
            // 对依赖的数据进行处理,且进行return
            return
        },
        计算属性名2 () {
            // 对依赖的数据进行处理,且进行return
            return
        }
    }
}

computed是vue的配置选项,它的值是一个对象,其中可定义多个计算属性,每个计算属性就是一个函数。

  • 属性名称: 计算属性的名称
  • 属性的值:计算属性的素材函数
    • 对需要依赖的数据,进行逻辑上的处理
    • 处理完毕后,需要return出去,返回的值就是计算属性的值

使用格式

在两个地方使用:

  • 模板
    • 用插值表达式 {{计算属性名}}
    • 用其它指令
  • 在实例内
    • this.计算属性名

示例 —— 数组求和

<template>
  <div id="app">
    <p>求和:{{ sum1 }}</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      arr: [1,2,3,4]
    }
  },
  computed: {
    sum1(){
      // 对依赖的数据进行处理,且进行return
      return this.arr.reduce((sum, item)=>sum + item, 0)
    }
  }
}
</script>

在模板中使用计算属性,和使用data的方式是一样的。

虽然在计算属性中声明的是函数,但是在模板是使用,当做的数据来使用。不需要加括号。

小结:

  • 什么时间用:需要对数据进行复杂的逻辑加工,产生新的数据时。
  • 定义: 就是一个特殊的配置项computed。其中有多个函数。
  • 使用:计算属性的使用方式与data中的数据项一致;
  • 计算属性-计算:这个值是对原数据进行计算之后得到的新的数据
  • 计算属性-属性:它的使用方法与原数据一样。this.计算属性名,{{计算属性名}}
  • 执行的时机: 如果计算属性中依赖的数据项变化时,它会自动调用。

computed有缓存

示例:

<template>
  <div id="app">
    <p>求和:{{ sum1 }}</p>
    <p>求和:{{ sum1 }}</p>
    <p>求和:{{ sum1 }}</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      arr: [1,2,3,4]
    }
  },
  computed: {
    sum1(){
      // 求arr的和,并返回
      // 如果arr变化了,计算属性会重新计算
      console.log('计算属性被调用了')
      return this.arr.reduce((sum, item)=>sum + item, 0)
    }
  }
}
</script>

结果:

  • 从上面的示例中可以看到,计算属性在模板中被调用了三次,但控制台只打印了一次,这是因为计算属性执行前会先从缓存中查找有没有这个数据,如果有就不会执行。
  • 计算属性的执行机制就像我们查字典一样
    • 如果要计算的数据在缓存中能找到,就不会再执行函数,而是直接拿取数据。

二、总结

当我们在模板中来显示一份经过对数据项进行复杂计算之后的结果时,我们有两种解决方案:

  • 计算属性
  • 函数

如何选择:

  • methods定义函数,如果在模板中使用,每使用一次,就相当于调用了一次,处理逻辑会重新执行。
  • computed定义计算属性,如果在模板中使用,使用多次,但是如果依赖的数据不发生改变,计算属性对应的函数不会重新执行。
    • 计算属性会做缓存,提高渲染的性能。

到此这篇关于vue计算属性及函数的选择的文章就介绍到这了,更多相关vue计算属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue-cli解决IE浏览器sockjs-client错误方法

    vue-cli解决IE浏览器sockjs-client错误方法

    这篇文章主要为大家介绍了vue-cli解决IE浏览器sockjs-client错误方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Vue页面内公共的多类型附件图片上传区域并适用折叠面板(示例代码)

    Vue页面内公共的多类型附件图片上传区域并适用折叠面板(示例代码)

    本文中实现的附件上传区域支持超多类型附件分类型上传,并且可根据特定条件具体展示某些类型的附件上传,本文给大家分享Vue页面内公共的多类型附件图片上传区域并适用折叠面板的示例代码,需要的朋友参考下吧
    2021-12-12
  • vue-cli3在main.js中console.log()会报错的解决

    vue-cli3在main.js中console.log()会报错的解决

    这篇文章主要介绍了vue-cli3在main.js中console.log()会报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 八个一看就觉得很棒的Vue开发技巧分享

    八个一看就觉得很棒的Vue开发技巧分享

    在用Vue开发的这几年里,我学到了很多有用的技巧,所以这篇文章主要给大家分享介绍了八个一看就觉得很棒的Vue开发技巧,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • vue+echarts图表使用的问题记录

    vue+echarts图表使用的问题记录

    由于在项目中需要对数据进行可视化处理,也就是用图表展示,众所周知echarts是非常强大的插件,所以这篇文章主要给大家介绍了关于vue+echarts图表使用的相关资料,需要的朋友可以参考下
    2021-09-09
  • Vue.js动态添加、删除选题的实例代码

    Vue.js动态添加、删除选题的实例代码

    这篇文章主要介绍了Vue.js动态添加、删除选题的实例代码,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • element滚动条组件el-scrollbar的使用详解

    element滚动条组件el-scrollbar的使用详解

    本文主要介绍了element滚动条组件el-scrollbar的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • VUE中V-IF条件判断改变元素的样式操作

    VUE中V-IF条件判断改变元素的样式操作

    这篇文章主要介绍了VUE中V-IF条件判断改变元素的样式操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧
    2020-08-08
  • Vue使用lodash进行防抖节流的实现

    Vue使用lodash进行防抖节流的实现

    本文主要介绍了Vue使用lodash进行防抖节流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 基于Element-Ui封装公共表格组件的详细图文步骤

    基于Element-Ui封装公共表格组件的详细图文步骤

    在平时开发的时候很多情况都会使用到表格和分页功能,下面这篇文章主要给大家介绍了关于如何基于Element-Ui封装公共表格组件的详细图文步骤,需要的朋友可以参考下
    2022-09-09

最新评论