Vue计算属性是什么意思,作用和用法是什么
Admin 2022-07-07 群英技术资讯 576 次浏览
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当中我们就可以看出,当我们一旦改变了函数当中的值,就相当于改变了缓存中的值,那么他就会刷新值。
调用方法时,每次都需要进行计算,既然有计算过程则必定产生系统开销,那如果这个结果是不经常变化的呢?此时就可以考虑将这个结果缓存起来。采用计算机属性可以很方便做到这一点。计算机属性的主要特性就是为了将不经常变化的计算结果进行缓存,以节约我们的系统开销。-----小伙伴们明白了吗?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
我们都知道form表单中有一个默认的reset重置表单事件,你一定会很熟悉,后面我也会对reset事件使用详细解释,请先看下面的代码。 inputtype=reset 为什么有了reset按钮了,我们还要使用js或jquery来实现reset事件呢?这是因为有时候我们form表单提交完数据之
这篇文章主要介绍了filter() 数组过滤的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
我们在浏览网站时,经常会看到滚动广告,那么这是怎么样实现的呢?这篇文章就给大家介绍一下jquery实现上下滚动的效果,文章中有详细的代码示例,对此感兴趣的朋友就继续往下看吧。
这篇文章主要为大家介绍了前端JavaScript算法找出只出现一次的数字的算法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
路由权限控制常用于后台管理系统中,对不同业务人员能够访问的页面进行一个权限的限制。本文主要介绍了两种Vue 路由权限控制,具有一定的参考价值,感兴趣的可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008