(Vue)中 computed和 watch的区别(高频面试题)

大家应该这computed和watch都具有一定的了解了,那就直接开始说重点吧!

相同点:

        都可以用来监听属性值的变化并做出相应操作(只是看谁更合适)

区别:

computed计算属性:

        1.支持缓存,只有依赖项发生改变时,才会重新计算

        2.计算属性不支持异步操作

        3.内部有两个方法 get和 set,当被监听的数据改变时会自动触发set 并返回最新数据;

           (也可以这样说:get是被动触发,依赖项改变自身跟着改变。set自身改变影响依赖项改变(默认得到自身的值),例如购物车全选反选功能)

        4.一个数据受多个数据影响时使用 computed,例如计算总价等

         

watch侦听器:

        1.不支持缓存,数据改变时直接触发相应操作

        2.支持异步操作,(可不说:监听的函数接收了两个参数,第一个为最新数据,第二个为之前的值)

        3. 需要监听对象里面的属性的话可以开启深度监听 deep:true

        4.需要立即监听可以使用 immediate:true 来实现,(可不说:此时监听的函数学法为 handler() {});

        5.一个数据影响多个数据时使用 watch,例如搜索框等

总结:大致面试答到这些即可,自己可以优化下作答,比如说语言可以简化下

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值