Vue之计算属性详解

 更新时间:2021年11月16日 11:22:46   作者:咸鱼_翻身  
这篇文章主要为大家介绍了Vue的计算属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1、何为计算属性:大白话讲就是计算出来的结果保存在属性当中,可以想象为缓存。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <!--注意了同志们是currentTime1(),这里有加括号的,是方法调用.-->
    <p>currentTime1:{{currentTime1()}}</p>
    <!--这里的currentTime1是没有加括号的,通过属性进行调用的-->
    <p>currentTime2:{{currentTime2}}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            message: "hello vue!"
        },
        methods: {
            currentTime1: function () {
                // 返回当前时间戳
                return Date.now();
            }
        },
        computed: {
            /*注意:这里就有计算属性了:而且methods和computed方法名不能相同。
                   重名之后只会调用methods方法*/
            currentTime2: function () {
                this.message;
                // 返回当前时间戳
                return Date.now();
            }
        }
    });
</script>
</body>
</html>

运行结果:

在这里插入图片描述

可能咋一看好像没什么区别呀。

但是我们仔细思考一下,一个是方法,一个是属性。

如下所示:

<div id="app">
    <!--注意了同志们是currentTime1(),这里有加括号的,是方法调用.-->
    <p>currentTime1:{{currentTime1()}}</p>
    <!--这里的currentTime1是没有加括号的,通过属性进行调用的-->
    <p>currentTime2:{{currentTime2}}</p>
</div>

重点:属性是存值的,有新的值进来才会改变,不然就跟缓存一样,我们来看这个:

在这里插入图片描述

解释一下:

1.在1、2当中我们可以看出,一个是方法一个是属性,属性用方法来调用肯定是不行的。

2.在1、3当中我们可以看出,方法调用的值一直在变,但是属性调用的值没有改变这就跟他是缓存机制一样

3.在3、4、5当中我们就可以看出,当我们一旦改变了函数当中的值,就相当于改变了缓存中的值,那么他就会刷新值。

总结

调用方法时,每次都需要进行计算,既然有计算过程则必定产生系统开销,那如果这个结果是不经常变化的呢?此时就可以考虑将这个结果缓存起来。采用计算机属性可以很方便做到这一点。计算机属性的主要特性就是为了将不经常变化的计算结果进行缓存,以节约我们的系统开销。-----小伙伴们明白了吗?

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • vue3 setup的使用和原理实例详解

    vue3 setup的使用和原理实例详解

    这篇文章主要介绍了vue3的setup的使用和原理,结合实例形式详细分析了vue3 setup的基本功能、原理与使用方法,需要的朋友可以参考下
    2023-06-06
  • Vue2.0实现简单分页及跳转效果

    Vue2.0实现简单分页及跳转效果

    这篇文章主要为大家详细介绍了Vue2.0实现简单数据分页,及页数的跳转效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 十分钟带你读懂Vue中的过滤器

    十分钟带你读懂Vue中的过滤器

    过滤器提供给我们的一种数据处理方式。过滤器功能不是必须要使用的,因为它所实现的功能也能用计算属性或者函数调用的方式来实现。这篇文章主要为大家介绍了Vue中过滤器的使用,需要的可以了解一下
    2023-03-03
  • vue 使用eventBus实现同级组件的通讯

    vue 使用eventBus实现同级组件的通讯

    这篇文章主要介绍了vue 使用eventBus实现同级组件的通讯,需要的朋友可以参考下
    2018-03-03
  • 改变vue请求过来的数据中的某一项值的方法(详解)

    改变vue请求过来的数据中的某一项值的方法(详解)

    下面小编就为大家分享一篇改变vue请求过来的数据中的某一项值的方法(详解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue中使用tinymce及插件powerpaste的使用

    vue中使用tinymce及插件powerpaste的使用

    这篇文章主要介绍了vue中使用tinymce,以及插件powerpaste的使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • vue定时器清除不掉,导致功能频繁执行问题

    vue定时器清除不掉,导致功能频繁执行问题

    这篇文章主要介绍了vue定时器清除不掉,导致功能频繁执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 解决Antd 里面的select 选择框联动触发的问题

    解决Antd 里面的select 选择框联动触发的问题

    这篇文章主要介绍了解决Antd 里面的select 选择框联动触发的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • vue-cli随机生成port源码的方法

    vue-cli随机生成port源码的方法

    这篇文章主要介绍了vue-cli随机生成port源码的方法,文中给大家介绍了vue 随机色生成方法,需要的朋友可以参考下
    2019-09-09
  • Vue项目发布后浏览器缓存问题解决方案

    Vue项目发布后浏览器缓存问题解决方案

    在vue项目开发中一直有一个令人都疼的问题,就是缓存问题,这篇文章主要给大家介绍了关于Vue项目发布后浏览器缓存问题的解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09

最新评论