计算属性的缓存

我们可能会考虑这样的一个问题:methods和computed看起来都可以实现我们的功能,那么为什么还要多一个计算属性这个东西呢?原因:计算属性会进行缓存,如果多次使用时,计算属性只会调用一次。我们来看下面的代码:

在这里插入图片描述

在这里插入图片描述
代码语言:javascript
复制
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <!--1.直接拼接:语法过于繁琐--> <h2>{{firstName}} {{lastName}}</h2>
<!--2.通过定义methods--> <h2>{{getFullName()}}</h2> <!--3.通过computed--> <h2>{{fullName}}</h2> </div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el: '#app', data: { firstName: 'Kobe', lastName: 'Bryant' }, methods: { getFullName: function () { return this.firstName+' '+this.lastName } }, computed: { fullName: function () { return this.firstName+' '+this.lastName } } }) </script>
</body>
</html>

在这里插入图片描述
- 在多次循环使用时,methods时会多次调用,而computed只调用一次