vue父子組件slot插槽的使用
vue父子組件slot插槽
關(guān)于父組件在使用子組件的時(shí)候,向子組件插入內(nèi)容的方法
1.創(chuàng)建一個(gè)子組件并在vue實(shí)例中注冊(cè)
這是創(chuàng)建子組件
var testzujian = { ? ? ? ? template:`<div> ? ? ? ? ? ? <span>這是子組件的內(nèi)容</span> ?? ? ? ? ? ? ? </div>` ? ? }
這是注冊(cè)子組件
let vm = new Vue({ ?? ?el:'.root', ?? ? components:{ ? ? ? ? ? ? testzujian:testzujian ? ? ? ? }, })
2.在HTML代碼中使用子組件
<body> ? ? <div class="root"> ? ? ? ? <testzujian></testzujian> ? ? ? ? </div> </body>
3.在vue實(shí)例中寫(xiě)入想要插入到子組件的內(nèi)容
let vm = new Vue({ ? ? ? ? el:'.root', ? ? ? ? components:{ ? ? ? ? ? ? testzujian:testzujian ? ? ? ? }, ? ? ? ? template:`<div> ? ? ? ? ? ? <testzujian> ? ? ? ? ? ? ? ? <template v-slot:slotcontent> ? ? ? ? ? ? ? ? ? ? <span>這是父組件向子組件插入的內(nèi)容</span> ? ? ? ? ? ? ? ? ? ? </template>? ? ? ? ? ? ? </testzujian> ? ? ? ? ? ? </div>`, ? ? })
其中template是一個(gè)模板字符串,這個(gè)模板字符串里面最外面的div標(biāo)簽是根目錄,必須存在。
根目錄之下的是已經(jīng)注冊(cè)的子組件,也是需要加內(nèi)容的子組件標(biāo)簽,必須存在
子組件標(biāo)簽之內(nèi)的也是必須存在的
其上的屬性v-slot綁定了一個(gè)名字slotcontent,這個(gè)名字可以隨意取,但必須得有
這個(gè)標(biāo)簽里面就用來(lái)添加
父組件想要插入子組件的內(nèi)容
4.在子組件的模板中通過(guò)一個(gè)slot標(biāo)簽
來(lái)引入父組件模板中內(nèi)添加的內(nèi)容
var testzujian = { ? ? ? ? template:`<div> ? ? ? ? ? ? <span>這是子組件的內(nèi)容</span> ? ? ? ? ? ? <slot name="slotcontent"> ? ? ? ? ? ? </slot> ? ? ? ? ? ? ? ? </div>` ? ? }
這是剛才創(chuàng)建好的子組件,現(xiàn)在在其template的模板中,加入了一個(gè)slot標(biāo)簽,屬性name綁定為剛才中v-slot:綁定的名字,也就是slotcontent
vue插槽v-slot實(shí)現(xiàn)父向子傳值
// 子組件代碼 <template> <div class="child"> <h4>this is child component</h4> <p>收到來(lái)自父組件的消息: <slot name="child"></slot> <!--展示父組件通過(guò)插槽傳遞的{{message}}--> </p> </div> </template>
//父組件代碼 <template> <div class="parent"> <h3>this is parent component</h3> <input type="text" v-model="message" /> <Child> <template v-slot:child> {{ message }} <!--插槽要展示的內(nèi)容--> </template> </Child> </div> </template>
<script> import Child from './child' export default { name: 'Parent', data() { return { message: '內(nèi)容', } }, components: { Child, }, } </script>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Vue中過(guò)濾器的必懂小知識(shí)
vue過(guò)濾器可以在不改變?cè)紨?shù)據(jù),只是對(duì)數(shù)據(jù)進(jìn)行加工處理后返回過(guò)濾后的數(shù)據(jù)再進(jìn)行調(diào)用處理,下面這篇文章主要給大家介紹了關(guān)于Vue中過(guò)濾器必懂小知識(shí)的相關(guān)資料,需要的朋友可以參考下2021-10-10Vue-router 類(lèi)似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例
本篇文章主要介紹了Vue-router 類(lèi)似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09vue+element實(shí)現(xiàn)輸入密碼鎖屏
這篇文章主要為大家詳細(xì)介紹了vue+element實(shí)現(xiàn)輸入密碼鎖屏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03解決Vue調(diào)用springboot接口403跨域問(wèn)題
這篇文章主要介紹了解決Vue調(diào)用springboot接口403跨域問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Vue3配置axios跨域?qū)崿F(xiàn)過(guò)程解析
這篇文章主要介紹了Vue3配置axios跨域?qū)崿F(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Element修改彈窗類(lèi)組件的層級(jí)的實(shí)現(xiàn)
本文主要介紹了Element修改彈窗類(lèi)組件的層級(jí)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04