Vue中计算属性computed
计算属性:计算属性有个缓存机制,在需要使用的数据不发生变化时 ,计算属性即便使用很多次,实际上也只是执行一次,后续的数据使用直接从“缓存”中去获取。而方法是执行一次调用一次
因此,在数据不变的情况下,计算属性效率会更高。
计算属性一般用户去计算比较复杂的运算。
计算属性:声明式,我们只需要将计算的规则告诉计算属性,后续的操作就由它去完成了
方法:命令式,一般配合事件去用,去作为事件的处理程序。
典型的场景:购物车
a. 总体上,计算属性在定义时与方法methods相似,除了属性名不一样以外,其他语法形式一致
b. 计算属性必须要有返回值(必须写return),但是方法可以没有返回值
c. 在使用上,与data中的数据使用的方式是一致的
d. 切记,在使用计算属性的时候不要加“()”
语法:computed: { 名称() { 函数执行 return }, }
1 <div class='app'> 2 <!-- 计算属性只需要书写名称 --> 3 <h2> {{com}} </h2> 4 <!-- 函数需要带上括号 --> 5 <h2> {{com1()}} </h2> 6 7 </div> 8 </body> 9 <script src='./js/vue.js'></script> 10 <script> 11 new Vue({ 12 el: '.app', 13 data: { 14 message: '文本内容', 15 // 自定义指令 16 directives: '', 17 }, 18 // 函数 19 methods:{ 20 com1(){ 21 console.log("这是函数"); 22 console.log(this.message,'函数输出'); 23 } 24 }, 25 // 计算属性 26 computed:{ 27 // 名称 28 com(){ 29 // 计算属性函数 30 console.log("这是计算属性") 31 // 在计算属性中return必须要有 32 return this.message + ' 计算属性输出' 33 } 34 } 35 }) 36 </script>