• 响应
    • vm.$watch changed
      • 升级方式
    • vm.$set 变更
      • 升级方式
    • vm.$delete 变更
      • 升级方式
    • Array.prototype.$set 弃用
      • 升级方式
    • Array.prototype.$remove 移除
      • 升级方式
    • Vue 实例上的Vue.set 和 Vue.delete移除
      • 升级方式
    • 替换 vm.$data 移除
      • 升级方式
    • vm.$get 移除
      • 升级方式

    响应

    vm.$watch changed

    通过 vm.$watch创建的观察器现在将在组件渲染时被激活。这样可以让你在组件渲染前更新状态,不用做不必要的更新。比如可以通过观察组件的 prop 变化来更新组件本身的值。

    如果以前通过 vm.$watch 在组件更新后与 DOM 交互,现在就可以通过updated生命周期钩子来做这些。

    升级方式

    运行测试,如果有依赖于老方法的观察器将弹出 failed tests

    vm.$set 变更

    vm.$set 只是 Vue.set 的别名。

    升级方式

    运行迁移工具找到过时的用法

    vm.$delete 变更

    vm.$delete 现在只是:Vue.delete 别名。

    升级方式

    运行迁移工具找到过时的用法

    Array.prototype.$set 弃用

    Vue.set 替代

    升级方式

    运行迁移工具找到数组上的.$set。如有遗漏请参考控制台错误信息

    Array.prototype.$remove 移除

    Array.prototype.splice 替代,例如:

    1. methods: {
    2. removeTodo: function (todo) {
    3. var index = this.todos.indexOf(todo)
    4. this.todos.splice(index, 1)
    5. }
    6. }

    或者更好的方法,直接给除去的方法一个 index 参数:

    1. methods: {
    2. removeTodo: function (index) {
    3. this.todos.splice(index, 1)
    4. }
    5. }

    升级方式

    运行迁移工具找到数组上的.$remove。如有遗漏请参考控制台错误信息

    Vue 实例上的Vue.set 和 Vue.delete移除

    Vue.setVue.delete 在实例上将不再起作用。现在都强制在实例的 data 选项中声明所有顶级响应值。如果删除实例属性或实例$data上的某个值,直接将它设置为 null 即可。

    升级方式

    运行迁移工具找到实例中的 Vue.setVue.delete 。如有遗漏请参考控制台错误信息

    替换 vm.$data 移除

    现在禁止替换实例的 $data。这样防止了响应系统的一些极端情况并且让组件状态更加可控可预测 (特别是对于存在类型检查的系统)。

    升级方式

    运行迁移工具找到覆盖 vm.$data的位置。如有遗漏请参考控制台警告信息

    vm.$get 移除

    可以直接取回响应数据。

    升级方式

    运行 迁移工具找到 vm.$get 的位置。如有遗漏请参考 控制台错误信息