這篇文章主要講解了“Vue的slot怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Vue的slot怎么使用”吧!
單個 Slot
在子組件內使用特殊的<slot>元素就可以為這個子組件添加一個 slot (插槽),在父組件模板里,插入在子組件標簽內的所有內容將替代子組件的<slot>標簽及它的內容.示例代碼如下:
子組件
<template>
<div>
<slot>
<p>如果父組件沒用插入內容,我將作為默認出現</p>
</slot>
</div>
</template>
<script>
export default {
name: "sonSlot",
}
</script>
父組件
<template>
<div>
<son-slot>
<p>分發的內容</p>
<p>更多分發的內容</p>
</son-slot>
</div>
</template>
<script>
import SonSlot from "./SonSlot"
export default {
name: "parentSlot",
}
</script>
注意:子組件<slot>內的備用內容,它的作用域是子組件本身.
具名 Slot
給 <slot> 元素指定一個 name 后可以分發多個內容,具名 Slot 可以與單個 Slot 共存,例如下面的示例:
<template>
<div class="component">
<div class="header">
<slot name="header"></slot>
</div>
<div class="main">
<slot></slot>
</div>
<div class="footer">
<slot name="footer"></slot>
</div>
</div>
</template>
子組件內聲明了3個 <slot> 元素,其中在<div class="main">內的<slot> 沒用使用 name 特性,它將作為默認 slot 出現,父組件沒有使用 slot 特性的元素與內容都將出現在這里.
如果沒有指定默認的匿名 slot, 父組件內多余的內容片段都將被拋棄.
上例最終渲染后的結果為:
<div id="app">
<div class="container">
<div class="header">
<h3>標題</h3>
</div>
<div class="main">
<p>正文內容</p>
<p>更多的正文內容</p>
</div>
<div class="footer">
<div>底部信息</div>
</div>
</div>
</div>
<template>
<div>
<son-name-slot>
<template v-slot:header>
這是 header 部分
</template>
<template>
哈哈哈哈啊哈哈啊哈哈哈 this is main
</template>
<template v-slot:footer>
這是 footer 部分
</template>
</son-name-slot>
</div>
</template>
<script>
import SonNameSlot from "./SonNameSlot"
export default {
name: "parentNameSlot",
}
</script>
感謝各位的閱讀,以上就是“Vue的slot怎么使用”的內容了,經過本文的學習后,相信大家對Vue的slot怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。