【vue】computed 、 watch、method 的区别

 三个关键字【惰性】【缓存】【异步】

  1. 计算属性 computed
    1. 计算属性返回的值不属于 data,但是基于data声明的值
    2. 会根据它们所依赖的数据的变化而自动重新计算
    3. 惰性计
      1. 初始化不会执行,只有在第一次访问时才会被计算
      2. render 函数执行时,会触发计算属性的getter
    4. 缓存功能
      1. 依赖数据不变,直接曲缓存的计算结果
      2. 初始化data和computed,分别代理其set以及get方法, 对data中的所有属性生成唯一的dep实例
      3. 对计算属性生成唯一的 watcher
      4. 执行render函数时会访问计算属性
      5. 在源码中有一个 dirty 属性
      6. 初始化时dirty为true
      7. dirty 为 true 才会重新求值
    5. 里面不能进行异步操作
    6. 用于需要基于已有数据计算出新数据的场景
    7. 可以设置 get、set 方法 实现双向绑定
  2. 监听器 watch
    1. 观察特定的数据变化,并在数据发生变化时执行自定义的回调函数。
    2. 可以获取到新值、旧值
    3. 立即执行,不是惰性的
    4. 允许复杂操作,可以执行异步逻辑
    5. 可以对复杂数据类型对象,使用深度监听 deep
    6. 没有缓存
  3. 方法 method
    1. 不会自动响应数据的变化,需要在调用时执行
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值