计算属性

原理:底层借助了 Object.defineProperty方法提供的getter 和 setter方法

优势:与methods相比,内部有缓存机制(实现复用效果),效率高,调试方便

1// 调用计算属性,不需要写()
2<h1> {{total}} </h1>
3
4// 格式一:
5computed:{
6	total(){
7    return 'better'
8  }
9}
10// 格式二
11computed:{
12	total:{
13		get(){
14      // 在{{}}中第一次获取这个计算属性的值的时候执行这里的代码
15    },
16    set(newValue){
17      // 计算属性受其他数据影响而变化时
18      console.log(newValue)
19    }
20  }
21}

什么时候用计算属性,什么时候用method?

一个值如果受其他数据的影响,就用计算属性

methods 和 computed 的区别

  • 调用的时候methods需要使用(),而computed不需要()

  • methods调用的时候吧,多次调用多次执行

  • computed如果方法的返回值没有改变就只执行一次,多次调用的结果是在内存中获取数据