這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Vue中如何使用slot,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站制作、貢山網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、貢山網(wǎng)絡(luò)營銷、貢山企業(yè)策劃、貢山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供貢山建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:aaarwkj.com
關(guān)于slot是這樣說的,
除非子組件模板包含至少一個(gè) <slot> 插口,否則父組件的內(nèi)容將會(huì)被丟棄。當(dāng)子組件模板只有一個(gè)沒有屬性的 slot 時(shí),父組件整個(gè)內(nèi)容片段將插入到 slot 所在的 DOM 位置,并替換掉 slot 標(biāo)簽本身。
最初在 <slot> 標(biāo)簽中的任何內(nèi)容都被視為備用內(nèi)容。備用內(nèi)容在子組件的作用域內(nèi)編譯,并且只有在宿主元素為空,且沒有要插入的內(nèi)容時(shí)才顯示備用內(nèi)容。
單個(gè) Slot
在子組件內(nèi)使用特殊的<slot>元素就可以為這個(gè)子組件添加一個(gè) slot (插槽),在父組件模板里,插入在子組件標(biāo)簽內(nèi)的所有內(nèi)容將替代子組件的<slot>標(biāo)簽及它的內(nèi)容.示例代碼如下:
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>示例</title> </head><body> <div id="app"> <child-component> <p>分發(fā)的內(nèi)容</p> <p>更多分發(fā)的內(nèi)容</p> </child-component> </div> <script src="https://unpkg.com/vue/dist/vue.min.js"></script> <script> Vue.component('child-component', { template: '\ <div>\ <slot>\ <p>如果父組件沒用插入內(nèi)容,我將作為默認(rèn)出現(xiàn)</p>\ </slot>\ </div>' }); var app = new Vue({ el: '#app' }) </script> </body></html>
前端全棧學(xué)習(xí)交流圈:866109386,面向1-3經(jīng)驗(yàn)?zāi)昵岸碎_發(fā)人員,幫助突破技術(shù)瓶頸,提升思維能力,群內(nèi)有大量PDF可供自取,更有干貨實(shí)戰(zhàn)項(xiàng)目視頻進(jìn)群免費(fèi)領(lǐng)取。
子組件 child-component 的模板內(nèi)定義一個(gè) <slot> 元素,并且用一個(gè) <p> 作為默認(rèn)的內(nèi)容,在父組件沒有使用 slot 時(shí),會(huì)渲染這段默認(rèn)的文本;如果寫入了 slot ,那就會(huì)替換整個(gè) <slot>.所以上列渲染后的結(jié)果為:
<div id="app"> <div> <p>分發(fā)的內(nèi)容</p> <p>更多分發(fā)的內(nèi)容</p> </div></div>
注意:子組件<slot>內(nèi)的備用內(nèi)容,它的作用域時(shí)子組件本身.
具名 Slot
給 <slot> 元素指定一個(gè) name 后可以分發(fā)多個(gè)內(nèi)容,具名 Slot 可以與單個(gè) Slot 共存,例如下面的示例:
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>示例</title> </head><body> <div id="app"> <child-component> <h3 slot="header">標(biāo)題</h3> <p>正文內(nèi)容</p> <p>更多正文內(nèi)容</p> <div slot="footer">底部信息</div> </child-component> </div> <script src="https://unpkg.com/vue/dist/vue.min.js"></script> <script> Vue.component('child-component', { 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>' }); var app = new Vue({ el: '#app' }) </script> </body></html>
前端全棧學(xué)習(xí)交流圈:866109386,面向1-3經(jīng)驗(yàn)?zāi)昵岸碎_發(fā)人員,幫助突破技術(shù)瓶頸,提升思維能力,群內(nèi)有大量PDF可供自取,更有干貨實(shí)戰(zhàn)項(xiàng)目視頻進(jìn)群免費(fèi)領(lǐng)取。
子組件內(nèi)聲明了3個(gè) <slot> 元素,其中在<div class="main">內(nèi)的<slot> 沒用使用 name 特性,它將作為默認(rèn) slot 出現(xiàn),父組件沒有使用 slot 特性的元素與內(nèi)容都將出現(xiàn)在這里.
如果沒有指定默認(rèn)的匿名 slot, 父組件內(nèi)多余的內(nèi)容片段都將被拋棄.
上例最終渲染后的結(jié)果為:
div id="app"> <div class="container"> <div class="header"> <h3>標(biāo)題</h3> </div> <div class="main"> <p>正文內(nèi)容</p> <p>更多的正文內(nèi)容</p> </div> <div class="footer"> <div>底部信息</div> </div> </div> </div>
上述就是小編為大家分享的Vue中如何使用slot了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱:Vue中如何使用slot
文章路徑:http://aaarwkj.com/article48/pdeshp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、品牌網(wǎng)站制作、ChatGPT、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)