1. 新特性
- composition API 为vue应用提供更好的逻辑复用和代码组织
reactive computed onMounted onUnmounted ref toRefs wather
- Teleport 传送门提供一种简洁的方式可以指定它里面内容的父元素
- Fragments // 祖业可以拥有多个根元素
- Emits Components Option
1.原生事件会触发两次比如click
2.更好的指示组件工作方式
3.对象形式事件校验
- createRenderer Api用于创建自定义渲染器
2. 破坏性变化
- global API 改为应用程序实例调用
- global and internal APIS 重构为可做摇树优化
- model 选项和v-bind的sync 修饰符被移除,统一改为v-model参数形式
- 渲染函数API修改
- 函数式组件仅能通过简单函数方式创建
- 废弃在SFC的template上使用functional或者添加functional选项的方式生命函数式组件
- 异步组件要求使用defineAsyncComponent方法创建
- 组件data选项应该总是声明为函数
- 自定义组件白名单执行于编译时
- is属性仅限于用在compnent标签上
- scopedSlots属性被移除,都用$slots代替
- 特性强制策略变更
- 自定义指令api和组件一致
- 一些transition类名修改
v-enter-> v-enter-from
v-leave-> v-leave-from
- watch 选项和$watch不再支持点分隔字符串路径,使用计算函数作为其参数
- Vue2.x中应用程序根容器的outerHtml会被根组件的模板替换(或被编译为template)。vue3.x现在使用应用根容器de innerHtml取代
3.移除的
- 移除keycode作为v-on 修饰符
- $on $off $once 移除
- Filters移除
- inline templates attributes移除