vue1.x到2.x的迁移

2018-03-27  本文已影响0人  __橘生淮南

年后的第一项工作任务,就是对一个挺复杂的项目进行vue迁移,也是为了后续的更新,看了官方文档,安装了迁移工具vue-migration-helper,就哼哧哼哧地干起来了。

兴冲冲直接在根目录下运行vue-migration-helper,吓到了,几千条修改内容,措手不及,顿时意识到这是项艰巨的任务。果断老老实实一个目录一个目录开始迁移,以下是总结的需要迁移的point。

// 父组件
<Child :value.sync="value"></Child>
// 子组件
this.$emit('update:value', updateValue);
mounted() {
  this.$nextTick(() => {
  ...
  })
}
//1.x
<input v-model="value | formatValue" />

filters: {
   formatValue: {
      read(val) {
      },
      write(val) {
      }
    }
}

//2.x
第一种方式:使用computed计算属性
<input v-model="computedValue" />

computed: {
   computedValue: {
      get() {
      },
      set(val) {
      }
    }
}
但一个页面就是几十个这样的,也是受不了。
第二种方式:单独封装成一个组件,在内部处理,把过滤器当做一个函数直接传进去

实施过程中总有一些艰难的问题,不详说,希望以后能遇到像1.x中那么灵活的方式。

我所遇到的主要就是以上几点,另外还有vue-router从0.7.x的迁移,照着文档依葫芦画瓢就好。

前前后后花了一周的时间才迁移好,之后又随时坚守岗位,检查bug。

上一篇 下一篇

猜你喜欢

热点阅读