91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue3插槽怎么用

發布時間:2021-12-29 10:27:03 來源:億速云 閱讀:187 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Vue3插槽怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Vue3插槽怎么用”這篇文章吧。

一、v-slot 介紹

v-slot 只能用在 template 或組件上使用,否則就會報錯。

v-slot 也是其中一種指令。

使用示例:

//父組件代碼 
<child-com> 
 <template v-slot:nameSlot> 
  插槽內容 
 </template> 
</child-com> 
 
//組件模板 
<slot name="nameSlot"></slot> 
v-slot 的語法,簡化 slot、slot-scope 作用域插槽的功能,相比更加強大,代碼效率更高。

二、匿名插槽

當組件中只有一個插槽的時候,可以不設置 slot name 屬性,v-slot 后可以不帶參數,但是 v-slot 在沒有設置 name 屬性的插槽口也會帶有隱含的 “default”。

匿名插槽使用:

//組件調用 
<child-com> 
 <template v-slot> 
  插槽內容 
 </template> 
</child-com> 
 
//組件模板 
<slot ></slot>

雖然 v-slot 沒有設置參數,但不能刪除掉 ,否則插槽內容無法正常渲染。

三、具名插槽

一個組件中有多個插槽的時候,如果沒有設置 v-slot 屬性值,會默認把元素插到沒有設置 name 屬性值的 slot 組件中,為了把對應的元素放到指定的位置,就需要借助 v-slot name 屬性,把內容對應起來。

具名插槽使用:

//父組件 
<child-com> 
 <template v-slot:header> 
  頭部 
 </template> 
 <template v-slot:body> 
  內容 
 </template> 
 <template v-slot:footer> 
  腳 
 </template> 
</child-com> 
     
//子組件   
<div> 
 <slot name="header"></slot> 
 <slot name="body"></slot> 
 <slot name="footer"></slot> 
</div>

具名插槽縮寫:

v-slotv-bindv-on 指令一樣,也存在縮寫。可以把 v-slot: 簡寫為 # 號。

如上述 v-slot:footer 可以簡寫為 #footer 。

上述的父組件代碼可以簡化為:

<child-com> 
 <template #header> 
  頭部 
 </template> 
 <template #body> 
  內容 
 </template> 
 <template #footer> 
  腳 
 </template> 
</child-com>

注意:和其他指令一樣,只有存在參數時,才可以簡寫,否則是無效的。

四、作用域插槽

有時讓插槽內容能夠訪問子組件中才有的數據是很有用的。當一個組件被用來渲染一個項目數組時,這是一個常見的情況,我們希望能夠自定義每個項目的渲染方式。

要使子組件上的屬性在插槽內容上可用,需要給 slot 綁定一個屬性。然后在 v-slot 處接收并定義提供插槽 props 名字。

使用示例:

// 
<child-com> 
 <template v-slot:header="slotProps"> 
  插槽內容--{{ slotProps.item }} 序號--{{ slotProps.index }} 
 </template> 
</child-com> 
     
//子組件代碼 
<template> 
 <div v-for="(item, index) in arr" :key="index"> 
  <slot :item="item" name="header" :index="index"></slot> 
 </div> 
</template> 
<script setup> 
 const arr = ['1111', '2222', '3333'] 
</script>

五、動態插槽名

v-slot 指令參數也可以是動態的,用來定義動態插槽名。

如:

<child-com> 
 <template v-slot:[dd()]> 
  動態插槽名 
 </template> 
</child-com> 
 
<script setup> 
const dd = () => { 
  return 'hre' 
}

此處使用的是函數,也可以直接使用變量。

以上是“Vue3插槽怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常州市| 株洲市| 嘉兴市| 封丘县| 红原县| 固原市| 昆明市| 沅江市| 清水河县| 从江县| 揭阳市| 霍林郭勒市| 抚宁县| 英德市| 宽城| 锦屏县| 涿州市| 古田县| 班戈县| 西乌珠穆沁旗| 静乐县| 嘉荫县| 无极县| 松溪县| 平度市| 梁山县| 尚志市| 昌图县| 尚义县| 页游| 安龙县| 钦州市| 五常市| 尉犁县| 嘉黎县| 贵州省| 夏津县| 关岭| 乐陵市| 达日县| 微山县|