vue中的 $slot 獲取插槽的節(jié)點(diǎn)實(shí)例
vue 中的 $slot
以前一直不知到這個(gè)東西,后來(lái)發(fā)現(xiàn) vue api 中 藏著很多的 很神奇的 api,比如這個(gè)

具名插槽很好理解,但是那個(gè) default 就有點(diǎn)難了,
寫了一個(gè)炒雞簡(jiǎn)單的 demo
father:
<template>
<div>
<button @click="getSlot">getSlot</button>
<try ref="try">
<div class="hello1">hello1</div>
<div class="hello2">hello2</div>
<div class="hello3">hello3</div>
</try>
<button @click="getArc">getArc</button>
</div>
</template>
<script>
import try from './try'
export default {
components: {
try
},
methods: {
getSlot () {
this.$refs.try.getSlot()
}
}
}
</script>
try.vue
<template>
<div>
<h2>我是子組件 的 標(biāo)題</h2>
<slot>
只有在沒(méi)有內(nèi)容分發(fā)的時(shí)候我才會(huì)出現(xiàn)
</slot>
</div>
</template>
<script>
export default {
methods: {
getSlot () {
console.log(this.$slots)
}
}
}
</script>
點(diǎn)擊了getSlot 之后的輸出

可以看到 default ,
里面有插入的 三個(gè) 標(biāo)簽和 三個(gè)標(biāo)簽之間的 兩個(gè) 空格,就有 5 個(gè) 了
通過(guò)這個(gè)就能很輕易的 拿到 父組件 通過(guò)插槽插入 子組件的 標(biāo)簽了
this.slotChildren = []
for (let i = 0; i< this.$slots.default.length; i++) {
if (that.$slots.default[i].elm.nodeType !== 3) {
that.slotChildren.push(that.$slots.default[i]) // 獲得 那些 插入的 按鈕
}
}
以上這篇vue中的 $slot 獲取插槽的節(jié)點(diǎn)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
ant-design表單處理和常用方法及自定義驗(yàn)證操作
這篇文章主要介紹了ant-design表單處理和常用方法及自定義驗(yàn)證操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
vue的axios使用post時(shí)必須使用qs.stringify而get不用問(wèn)題
這篇文章主要介紹了vue的axios使用post時(shí)必須使用qs.stringify而get不用問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
vue+echarts5實(shí)現(xiàn)中國(guó)地圖的示例代碼
本文主要介紹了vue+echarts5實(shí)現(xiàn)中國(guó)地圖的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
vue3中通過(guò)遍歷傳入組件名稱動(dòng)態(tài)創(chuàng)建多個(gè)component 組件
這篇文章主要介紹了vue3中通過(guò)遍歷傳入組件名稱動(dòng)態(tài)創(chuàng)建多個(gè)component 組件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
vue+elementui(對(duì)話框中form表單的reset問(wèn)題)
這篇文章主要介紹了vue+elementui(對(duì)話框中form表單的reset問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
詳解如何在 vue 項(xiàng)目里正確地引用 jquery 和 jquery-ui的插件
本篇文章主要介紹了詳解如何在 vue 項(xiàng)目里正確地引用 jquery 和 jquery-ui的插件,具有一定的參考價(jià)值,有興趣的可以了解一下2017-06-06
vuex新手進(jìn)階篇之a(chǎn)ctions的使用方法
actions用來(lái)處理mutations中的異步操作,觸發(fā)mutations中的函數(shù),下面這篇文章主要給大家介紹了關(guān)于vuex新手進(jìn)階篇之a(chǎn)ctions的使用方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
Vue3處理大數(shù)據(jù)量渲染和優(yōu)化的方法小結(jié)
在現(xiàn)代Web應(yīng)用中,隨著用戶數(shù)據(jù)和交互的復(fù)雜性增加,如何高效地處理大數(shù)據(jù)量渲染成為了前端開發(fā)的重要環(huán)節(jié),本文將以Vue 3為例,探討如何優(yōu)化大數(shù)據(jù)量渲染,提升應(yīng)用性能,需要的朋友可以參考下2024-07-07

