面试官问:请你说说 computed 和 watch 的区别
小张同学回答:computed是指一个数据受多个数据影响的时候,或者说一个值需要依赖其他数据计算得来的时候就要用到computed,watch指的是一个数据会影响其他一个或多个数据的时候,那么这个时候就要用到watch,另外computed是支持缓存的,只有依赖项发生了变化才会去重新计算,否则会从缓存中读取数据,watch是不支持缓存的,监听的数据发生变化就会触发相应的操作,还有就是watch监听的数据必须是在data中声明过的数据,或者是父组件传递过来的props中的数据,另外watch有两个可选的属性,一个是immediate,一个是deep,immediate就是当组件加载的时候默认执行一次回调函数,deep是指深度侦听,为了监听对象内部的值的变化,适合用于引用数据类型
Ps:(computed指的是计算属性,watch是侦听器,嗯~,watch一般小张同学没怎么用到过,computed还是有不少的使用场景的,所以大家一定得记牢咯,尤其是语法不能忘,当然它是干嘛的咱们也得知道,最直观的例子就是购物车的全选和单选,大家如果不太清楚的话可以去找个案例瞧一瞧哦)
最后小张同学祝大家面试顺利!!!