vue-计算属性和方法区别


一、计算属性和方法区别

  

  将计算属性的get函数定义为方法,也可以实现类似的功能。不过计算属性和方法有本质的区别。计算属性和方法的区别:

  • 计算属性是基于他的依赖进行更新的,只有在相关以来发生改变时才能更新变化
  • 计算属性是有缓存的,只要相关依赖没有改变,多次访问计算属性得到的值是之前缓存存的计算结果,不会多次执行。

 

二、代码设计

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4   <meta charset="UTF-8">
 5   <title>vue计算属性</title>
 6   <!--引入vue-->
 7   <script src="../js/vue.js"></script>
 8 
 9 </head>
10 <body>
11   <div id="hello">
12     <!-- 计算属性 -->
13     <h3>计算属性返回的num2:{{num2}}</h3>
14     <button onclick="fn1()">定时执行计算属性</button>
15 
16     <!-- 方法-->
17     <h3>方法返回的num2:{{getNum2()}}</h3>
18     <button onclick="fn2()">定时执行方法</button>
19   </div>
20 
21   <script>
22     let vm = new Vue({
23         //vue挂载目标
24         el:'#hello',
25         //vue属性
26         data:{  //普通属性
27           num:9
28         },
29         //vue计算属性
30         computed:{ //计算属性
31           num2:function(){ //get函数
32             console.log('计算属性num2',new Date());
33             return this.num-1;
34           },
35         },
36         //vue方法
37         methods:{
38           getNum2(){
39             console.log('方法getnum2()',new Date());
40             return this.num-1;
41           },
42         },
43       })
44 
45     //自定义普通的函数,不属于vue,定时输出计算属性
46     function fn1(){
47       setInterval(function(){
48         console.log(vm.num2);
49       },1000);
50     }
51 
52     //自定义普通的函数,不属于vue,定时输出方法
53     function fn2(){
54       setInterval(function(){
55         console.log(vm.getNum2());
56       },1000);
57     }
58     
59   </script>
60 
61 </body>
62 </html>

 

三、效果展示

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM