Vue3系列教程之插槽slot詳解
插槽就是子組件中的提供給父組件使用的一個(gè)占位符,用<slot></slot> 表示,父組件可以在這個(gè)占位符中填充任何模板代碼,如 HTML、組件等,填充的內(nèi)容會(huì)替換子組件的<slot></slot>標(biāo)簽。
1匿名插槽
(1)在子組件放置一個(gè)插槽,mytest.vue
<template> <div> <slot>我這里設(shè)置默認(rèn)值</slot> </div> </template>
(2)父組件使用插槽,在父組件給這個(gè)插槽填充內(nèi)容,如果不設(shè)置內(nèi)容就會(huì)引用子組件的內(nèi)容
<myslot> <template v-slot> <div>我是插槽的值</div> </template> </myslot>
2具名插槽
具名插槽其實(shí)就是給插槽取個(gè)名字。一個(gè)子組件可以放多個(gè)插槽,而且可以放在不同的地方,而父組件填充內(nèi)容時(shí),可以根據(jù)這個(gè)名字把內(nèi)容填充到對(duì)應(yīng)插槽中.
<template> <div> <slot name="header"></slot> <slot>我這里設(shè)置默認(rèn)值</slot> <slot name="footer"></slot> </div> </template>
父組件使用需對(duì)應(yīng)名稱.
<myslot> <template v-slot:header> <div>我是插槽header的值</div> </template> <template v-slot> <div>我是插槽的值</div> </template> <template v-slot:footer> <div>我是插槽footer的值</div> </template> </myslot>
這里還可以進(jìn)行簡(jiǎn)寫
<myslot> <template #header> <div>我是插槽header的值</div> </template> <template #default> <div>我是插槽的值</div> </template> <template #footer> <div>我是插槽footer的值</div> </template> </myslot>
3作用域插槽
在子組件動(dòng)態(tài)綁定參數(shù) 派發(fā)給父組件的slot去使用.
<template> <div> <slot name="header"></slot> <div :key="item" v-for="item in 100"> <slot v-bind:data="item">我這里設(shè)置默認(rèn)值</slot> </div> <slot name="footer"></slot> </div> </template>
通過結(jié)構(gòu)方式取值:
<myslot> <template #header> <div>我是插槽header的值</div> </template> <template #default="{ data }"> <div>我是插槽傳過來的值{{ data }}</div> </template> <template #footer> <div>我是插槽footer的值</div> </template> </myslot>
4動(dòng)態(tài)插槽
插槽可以是一個(gè)變量名
<template> <div> <myslot> <template #[name]> <div>我是變量插槽{{name}}</div> </template> </myslot> </div> </template> <script setup lang="ts"> import myslot from './components/test_slot.vue' import { ref } from 'vue' const name = ref<string>('header') </script>
到此這篇關(guān)于Vue3系列教程之插槽slot的文章就介紹到這了,更多相關(guān)vue3插槽slot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何實(shí)現(xiàn)在Vue中導(dǎo)入Excel文件
這篇文章主要介紹了如何在Vue中導(dǎo)入Excel文件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-01-01Vue+Vuex實(shí)現(xiàn)自動(dòng)登錄的知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理的是關(guān)于Vue+Vuex實(shí)現(xiàn)自動(dòng)登錄的知識(shí)點(diǎn)詳解,需要的朋友們可以學(xué)習(xí)下。2020-03-03vue2的todolist入門小項(xiàng)目的詳細(xì)解析
本篇文章主要介紹了vue2的todolist入門小項(xiàng)目的詳細(xì)解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05idea編譯器vue縮進(jìn)報(bào)錯(cuò)問題場(chǎng)景分析
idea編譯器出現(xiàn)Vue縮進(jìn)報(bào)錯(cuò),怎么解決呢,很多朋友遇到這個(gè)問題都很棘手,不知該如何解決,今天小編給大家通過場(chǎng)景分析介紹解決方案,需要的朋友參考下吧2021-07-07vue3使用vis繪制甘特圖制作timeline可拖動(dòng)時(shí)間軸及時(shí)間軸中文化(推薦)
這篇文章主要介紹了vue3使用vis繪制甘特圖制作timeline可拖動(dòng)時(shí)間軸,時(shí)間軸中文化,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02快速搭建vue2.0+boostrap項(xiàng)目的方法
這篇文章主要介紹了快速搭建vue2.0+boostrap項(xiàng)目的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04