[Vue] vue如何监控数据的

  1. vue会监测data属性下所有层次的数据变化

  2. 监控对象中的数据
    通过setter监控,在新建vue实例时就要传入要监控的数据

    • 对象中含有的,之后追加的属性,vue默认不做响应式处理,即没有对应的getter/setter
    • 如果需要响应式处理,要利用对应的API
      Vue.set(target, propertyName/index, value)
      or
      this.$set(target, propertyName/index, value)
  3. 监控数组中的数据

    • 调用与原生js对应的数组方法来更新数组
    • 重新解析模板,更新页面
      在vue中修改数组要使用对应API:pop(), push(), shift(), unshift(), splice(), reverse(), sort() 或者Vue.set()/this.$set(), this就是创建的vue实例vm

⚠️ Vue.set()/this.$set()不能用于vm的根数据以及vm本身添加属性 ⚠️ --> target不能为vm或vm._data

posted @ 2023-12-01 21:35  Akira300000  阅读(23)  评论(0编辑  收藏  举报