1.computed是计算属性
只能对最终结果进行运算功能,只计算一次,具有缓存功能,能实现计算属性与普通属性之间的双向绑定。
fullName:{
get(){...}
set(){...}
}
通常情况下,我们所使用的fullname(){...} 默认是执行的get()方法。
2.computed的作用
(1)减少模板中的计算逻辑<templete></templete>
(2)能够进行数据缓存
(3)响应式数据依赖固定的数据类型
3.watch不仅具有运算功能,而且具有监听功能等,也就是说watch囊括了computed所有的功能。
4.watch的作用
(1)比computed更加灵活
(2)watch中可以执行任何逻辑,比如函数节流、Ajax异步数据获取,甚至操作DOM,监听功能等
(3)响应式数据依赖固定的数据类型
注意点:
使用watch监听时,属性必须存在,没有该属性是监听不了的。
watch只能通过监听某一个属性来影响另一个属性,而不会通过影响了某个属性之后再去影响原来的属性,只能是单向的。
computed适用于一个数据被多个数据影响,而watch适用于一个数据影响多个数据。