Vue之计算属性详解
作者:咸鱼_翻身 时间:2024-04-27 15:57:27
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当中我们就可以看出,当我们一旦改变了函数当中的值,就相当于改变了缓存中的值,那么他就会刷新值。
总结
调用方法时,每次都需要进行计算,既然有计算过程则必定产生系统开销,那如果这个结果是不经常变化的呢?此时就可以考虑将这个结果缓存起来。采用计算机属性可以很方便做到这一点。计算机属性的主要特性就是为了将不经常变化的计算结果进行缓存,以节约我们的系统开销。-----小伙伴们明白了吗?
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
来源:https://blog.csdn.net/aaa123_456aaa/article/details/121344668
标签:Vue,计算属性,详解
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
MySQL如何统计一个数据库所有表的数据量
2024-01-23 20:07:14
![](https://img.aspxhome.com/file/2023/7/71807_0s.png)
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2021-10-03 10:22:27
![](https://img.aspxhome.com/file/2023/1/81731_0s.jpg)
在python的WEB框架Flask中使用多个配置文件的解决方法
2023-09-05 03:56:54
javascript实现延时显示提示框特效代码
2024-04-25 13:10:50
Python中seaborn库之countplot的数据可视化使用
2023-08-10 20:38:56
![](https://img.aspxhome.com/file/2023/6/62026_0s.png)
vue-cli4如何打包静态资源到指定目录
2024-05-22 10:43:24
![](https://img.aspxhome.com/file/2023/2/123212_0s.png)
JS组件Bootstrap Select2使用方法解析
2024-04-16 09:49:36
![](https://img.aspxhome.com/file/2023/5/136545_0s.jpg)
Python中Iterator迭代器的使用杂谈
2023-11-23 03:49:30
利用nodejs读取图片并将二进制数据转换成base64格式
2024-05-08 09:37:21
ASP GetRef 函数指针试探
2011-03-16 11:09:00
在Python中预先初始化列表内容和长度的实现
2022-03-17 04:30:37
Python批量重命名同一文件夹下文件的方法
2021-04-03 08:59:44
用VBS语言实现的网页计算器源代码
2007-12-26 17:09:00
![](https://img.aspxhome.com/file/UploadPic/200712/26/20071226172731580s.jpg)
python3+selenium自动化测试框架详解
2022-01-29 18:26:01
![](https://img.aspxhome.com/file/2023/7/75897_0s.png)
图文详解python安装Scrapy框架步骤
2022-02-11 15:02:47
![](https://img.aspxhome.com/file/2023/5/86165_0s.png)
Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁
2009-03-06 10:37:00
MAC下Mysql5.7.10版本修改root密码的方法
2024-01-27 00:05:58
Python几种绘制时间线图的方法
2021-08-16 10:43:05
![](https://img.aspxhome.com/file/2023/6/128566_0s.png)
JS实现动画中的布局转换
2023-10-14 15:58:04
![](https://img.aspxhome.com/file/2023/8/56268_0s.gif)
MySQL隔离级别和锁机制的深入讲解
2024-01-14 06:57:53
![](https://img.aspxhome.com/file/2023/6/109816_0s.png)