vue3 迁移指南 - 介绍(未完)


原文地址 v3.cn.vuejs.org

# 值得注意的新特性

Vue 3 中需要关注的一些新功能包括:

# 非兼容的变更

提示

我们仍在开发 Vue 3 的专用迁移版本,该版本的行为与 Vue 2 兼容,运行时警告不兼容。如果你计划迁移一个非常重要的 Vue 2 应用程序,我们强烈建议你等待迁移版本完成以获得更流畅的体验。

下面列出了从 2.x 开始的重大更改:

# 全局 API

注释:全局 API,是指原来绑定在 vue 下的方法和属性,例如 vue.mixin。这种方式虽然便于全局修改每一个由该 vue 创建的实例,但是却污染了单元测试的环境

注释:全局API支持树摇,即在未使用时不会被打包工具打包

# 模板指令

注释:v-model 修改了使用方法,用以替换 v-bind.sync 的实现

注释:对于 v-if/v-else/v-else-if 的各分支项 key 将不再是必须的(过去似乎也不是必须的),<template v-for> 的 key 应该设置在 <template> 标签上,如果你手动提供 key,那么每个分支必须使用唯一的 key。你不能通过故意使用相同的 key 来强制重用分支。

注释:vue2 中 v-for 的优先级高于 v-if

注释:vue2 中对单个 property 的绑定会覆盖 v-bind:Object 的方式,vue3 中根据绑定顺序决定覆盖行为

注释:新增的 emits 选项允许子组件定义会被组件触发的事件,未被定义为组件触发的所有事件监听器,Vue 现在将把它们作为原生事件监听器添加到子组件的根元素中 (除非在子组件的选项中设置了 inheritAttrs: false)。

注释:vue2 中,在模板语法中使用 v-for 和 ref 是,对同名 ref 会生成数组。在 render 函数中,需要手动传入 refInFor={true} 来实现。
注释:vue3 中,ref 允许绑定一个函数,接收每个绑定的 dom 作为参数

# 组件

# 渲染函数

# 自定义元素

# 其他小改变

# 移除 API

# 官方支持的库

我们所有的官方库和工具现在都支持 Vue 3,但大多数仍然处于 beta 状态,并在 npm 的 next dist 标签下发布。我们正计划在 2020 年底前稳定所有项目,并将其转换为使用 latest 的 dist 标签

# Vue CLI

从 v4.5.0 开始,vue-cli 现在提供了内置选项,可在创建新项目时选择 Vue 3。现在可以升级 vue-cli 并运行 vue create 来创建 Vue 3 项目。

# Vue Router

Vue Router 4.0 提供了 Vue 3 支持,并有许多突破性的变化,查看迁移指南 (opens new window) 获取完整的细节。

# Vuex

Vuex 4.0 提供了 Vue 3 支持,其 API 与 3.x 基本相同。唯一的突破性变化是插件的安装方式 (opens new window)

# Devtools Extension

我们正在开发一个新版本的 Devtools,它有一个新的 UI 和经过重构的内部结构,以支持多个 Vue 版本。新版本目前处于测试阶段,目前只支持 Vue 3。Vuex 和路由器的集成也在进行中。

# IDE 支持

推荐使用 VSCode(opens new window) 和我们官方拓展 [(opens new window)](https://marketplace.visualstudio.com/items?item>Vetur<svg xmlns=) ,它为 Vue 3 提供了全面的 IDE 支持

# 其他项目

项目 npm 仓库
@vue/babel-plugin-jsx (opens new window) [Github (opens new window) ]
eslint-plugin-vue (opens new window) [Github (opens new window) ]
@vue/test-utils (opens new window) [Github (opens new window) ]
vue-class-component (opens new window) [Github (opens new window) ]
vue-loader (opens new window) [Github (opens new window) ]
rollup-plugin-vue (opens new window) [Github (opens new window) ]


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM