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