[导读]:wactch: 1.不支持缓存。数据变化直接触发操作; 2.watch支持异步; 3.监听的函数接收两个参数(newValue,oldValue) 当一个属性发生变化时,需要执行对应的操作;一对多; 监听数据必须是data中声明过或者父组件传递过来的props中的数...
wactch:
1.不支持缓存。数据变化直接触发操作;
2.watch支持异步;
3.监听的函数接收两个参数(newValue,oldValue)
当一个属性发生变化时,需要执行对应的操作;一对多;
监听数据必须是data中声明过或者父组件传递过来的props中的数据。
页面第一次渲染时候,watch函数是不会执行的,只有当数据变化时才会触发操作。函数有两个参数,
deep控制是否要看这个对象里面的属性变化,但是其无法监听到数组的变动和对象的新增
immediate控制是否在第一次渲染是执行这个函数
举例场景:现在有父组件P,和他的2个子组件C1,C2。C1改变父组件P的data,并且需要把这个值传给C2,这时候发现C2组件的data值没有变换还是最初父组件P传的值,考虑在组件C2中用watch来解决
computer:
1.支持缓存,只有依赖数据发生改变,才会重新进行计算
2.不支持异步,当computed内有异步操作时无效,无法监听数据的变化
3.computed属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值
4.如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed
5.如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。
本文来自投稿,不代表阿习进阶博客立场,如若转载,请注明出处:https://www.yanxias.com/qianduan/157.html

说点什么吧
- 全部评论(0)
还没有评论,快来抢沙发吧!