vue中 computed和watch的区别
1》computed有缓存,什么是缓存呢,就是data不变则不会计算
![vue中 computed和watch的区别 vue中 computed和watch的区别](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQxMC82MTUxNTQwNGI1MmY3YjkwMjNjN2RkOWY2NGE4YzJiMi5wbmc=)
![vue中 computed和watch的区别 vue中 computed和watch的区别](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzg5Ni8wM2I5NzEzY2NlNjY3MTk0MzJlMTkxMWYwZjgyNjYwOC5wbmc=)
由于缓存机制,num值不变的话,double1()get()set()不会执行
2》watch默认是浅度监听,下面的info引用类型,city属性发生改变,监听不到。
3》值类型,可以监听 而且oldval和val都可以获取
3》watch经过操作可以对引用类型进行深度监听,但是也不能获取oldval
深度监听方法,利用handler 和deep:true
![vue中 computed和watch的区别 vue中 computed和watch的区别](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkxNS8xZGQ4YzRmZjEzZjk0MjhlMmQyNmMzNDJjMTEyY2I5Yi5wbmc=)
info的oldval是获取不到的,因为val值进行修改,用于引用类型是指针赋值的关系,所以oldval获取不到