vue中的 $slot 獲取插槽的節(jié)點實例
vue 中的 $slot
以前一直不知到這個東西,后來發(fā)現(xiàn) vue api 中 藏著很多的 很神奇的 api,比如這個
具名插槽很好理解,但是那個 default 就有點難了,
寫了一個炒雞簡單的 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> 只有在沒有內(nèi)容分發(fā)的時候我才會出現(xiàn) </slot> </div> </template> <script> export default { methods: { getSlot () { console.log(this.$slots) } } } </script>
點擊了getSlot 之后的輸出
可以看到 default ,
里面有插入的 三個 標(biāo)簽和 三個標(biāo)簽之間的 兩個 空格,就有 5 個 了
通過這個就能很輕易的 拿到 父組件 通過插槽插入 子組件的 標(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é)點實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue的axios使用post時必須使用qs.stringify而get不用問題
這篇文章主要介紹了vue的axios使用post時必須使用qs.stringify而get不用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01vue3中通過遍歷傳入組件名稱動態(tài)創(chuàng)建多個component 組件
這篇文章主要介紹了vue3中通過遍歷傳入組件名稱動態(tài)創(chuàng)建多個component 組件,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03vue+elementui(對話框中form表單的reset問題)
這篇文章主要介紹了vue+elementui(對話框中form表單的reset問題),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05詳解如何在 vue 項目里正確地引用 jquery 和 jquery-ui的插件
本篇文章主要介紹了詳解如何在 vue 項目里正確地引用 jquery 和 jquery-ui的插件,具有一定的參考價值,有興趣的可以了解一下2017-06-06Vue3處理大數(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