01 vue3的新特征
1.組合式API. setUp作為組合函數的入口函數
vue3.2有了<script setup>,變量、事件、不需要要在return了
2.Teleport 傳送門
3.片段 template下可以有多個標簽
4.創建自定義渲染器。我的理解是 createRenderer API可以進行跨平台。
5.單文件組件組合式 API 語法糖 (<script setup>)。我的理解:在style中用v-bind綁定變量
6.SFC <style scoped> 現在可以包含全局規則或只針對插槽內容的規則
Suspense 實驗性
02 模板指令的更改
1.組件上 v-model 用法已更改,以替換 v-bind.sync
2.<template v-for> 和非 v-for 節點上的 key 用法已更改
3.在同一元素上使用的 v-if 和 v-for 優先級已更改 ok
4.v-bind="object" 現在排序敏感
5.v-on:event.native 修飾符已移除 ok
就是說你不可以通過native給組件注冊原生事件了。
如果要給組件使用原生事件怎么辦了?
Vue 現在將把它們作為原生事件監聽器添加到子組件的根元素中
(除非在子組件的選項中設置了 inheritAttrs: false)。阻止原生事件的觸發
emits: ['click'],這樣就可以去注冊原生事件了
6.v-for 中的 ref 不再注冊 ref 數組
03 被移除的 API
1. keyCode 作為 v-on 修飾符的支持 ok
2. $on、$off 和 $once 實例方法 ok
bus.$on('getCheckboxStatus',(res,c) => { }) 監聽事件
//取消監聽'getCheckboxStatus'事件
beforeDestroy(){
bus.$off('getCheckboxStatus');
}
$once 可以給組件實例綁定一個自定義事件,
但該事件只能被觸發一次,觸發之后隨即被移除
@click="$emit('onceHander')"
this.$once('onceHander',()=>{})
他們配合使用
3. 過濾器 (filter) ok
4. 內聯模板 attribute
$children 實例 property
propsData 選項
$destroy 實例方法。用戶不應再手動管理單個 Vue 組件的生命周期。
5.全局函數 set 和 delete 以及實例方法 $set 和 $delete。基於代理的變化檢測已經不再需要它們了。