vue 3.x 新指令 v-slot


vue 3.x 增加了v-slot的指令來代替原來2.6的slot,slot-scope屬性

原因:這里引用了官方的說法,我們計划統一插槽類型,因此不再需要(從概念上)區分作用域插槽和非作用域插槽。一個插槽可能會或可能不會接收道具,但它們全都是插槽。有了這個概念上的統一,具有slotslot-scope在兩個特殊屬性似乎沒有必要,這將是很好的統一語法的單個構建下也是如此(統一插槽屬性,便於學習)

之前也寫過有關slot屬性的使用,現在以新舊比較的方式來使用新指令v-slot

slot屬性:https://www.cnblogs.com/chujunqiao/p/11807021.html

1 普通插槽

這里有一個my-template的組件

組件里有一個slot模版

image

my-template組件內的內容會替換到默認的slot標簽中(沒有name屬性的slot)

image

結果:

image

顯示寫法:

image

2 具名插槽

可以通過給v-slot指令增加一個參數名稱來指定具體的某一個插槽(具有name屬性的slot)

image

模版內容會替換具有name屬性,而且name=‘vslot’的插槽

image

結果:

image

具名插槽縮寫:#vslot

image

3 作用域插槽 

父級組件決定插槽內容的渲染方式

image

把默認slot重命名為mySlot 循環在slot上綁定的data數據

image

結果:

image

作用域插槽的解構使用:

image

寫法變換:

image

這里把data數據直接解構出來使用,不用再通過slot對象來引用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM