阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

vue路由的鉤子函式幾種

新特性

ref、reactive、computed、watch

新的生命週期

自定義鉤子函式

Teleport(元件位置替換)

Suspense(非同步載入元件實現)

全域性Api、配置項的最佳化

更好的支援typescript

全域性api和初始化應用的變化

全域性config

vue3將全域性配置掛在了app例項上而不是建構函式上,好處是是的應用之間的配置互不影響

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

全域性方法

vue3為了減小打包體積,將很多方法都採用了具名匯出的方式(如

createApp

nextTick

等),這使得初始化例項的方式也有所區別

例如:

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

因為vue3不再有Vue建構函式,所以一些全域性的自定義屬性或者方法也沒法透過Vue。prototype。xx掛在到vm例項上,這時候需要藉助

app。config。globalProperties

來實現這一功能

例如:

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

vue3的中介軟體也是透過每個應用例項下的use方法去註冊,且支援鏈式呼叫

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

compositionApi

ref

需要注意的是

setup

返回的變數都是

Ref

型別,修改ref的值需要修改

ref。value

,在其他的方法中也能透過

this。xx

直接修改

使例子

computed

computed接收一個函式,改函式的返回值作為計算屬性的值

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

reactive

在setup中,reactive可以為我們集中定義屬性

watch監聽

vue3提供了再setup中使用的資料監聽函式

watch

,因為setup只是在初始化的時候呼叫一次,無法根據資料變化實時呼叫,所以提供了

watch

方法解決這個問題

下面是wacth方法的簡單使用例項:

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

provide、inject

根元件注入

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

ps:如果setup中有非同步操作,inject必須在非同步操作之前

路由相關

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

生命週期

有兩個生命週期名稱修改以及兩個新增

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

vue3提供了在setup中使用的生命週期函式

阿里年薪百萬架構師,十分鐘帶你瞭解vue3新特性介紹和基本使用

變更

。sync修飾符=>v-model:propName

目前遇到的問題

keep-alive不可用