Skip to content
☆´∀`☆
On this page

vue2 -> vue3

官网迁移指南 为什么只有英文!QAQ

全局 API -> 实例 API

2.x 全局 API3.x 实例 API
Vue.configapp.config
Vue.config.productionTipremoved
Vue.config.ignoredElementsapp.config.compilerOptions.isCustomElement
Vue.componentapp.component
Vue.directiveapp.directive
Vue.mixinapp.mixin
Vue.useapp.use
Vue.prototypeapp.config.globalProperties
Vue.extendremoved

全局 API 的 tree-shaking

一些全局 API 或内部组件会在构建中被 tree-shaking
如果是插件开发,会导致 vue 源代码被捆绑入插件中。需要配置下 webpack

js
externals: {
  vue: "Vue";
}

v-model

在自定义组件中,v-model 的 prop 和 event 名称更改:

  • prop: value -> modelValue;
  • event: input -> update:modelValue;

v-bind 的.sync 修饰符和组件 model 选项被删除并替换为 v-model;

key

v-if/v-else/v-else-if 不再必要 key,因为他们会自己生成 uuid
tempalte v-for 中的 key 应该放在 tempalte 上

v-if v-for 优先级

如果在同一个元素上使用,v-if 优先级高于 v-for

v-bind 合并行为

2.x 单属性始终覆盖 v-bind
3.x 后面的覆盖前面的

v-on.native 移除修饰符