最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

如何利用Vue中slot插槽分發(fā)父組件

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:42:42
文檔

如何利用Vue中slot插槽分發(fā)父組件

如何利用Vue中slot插槽分發(fā)父組件:這次給大家?guī)?lái)如何利用Vue中slot插槽分發(fā)父組件,利用Vue中slot插槽分發(fā)父組件的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來(lái)看一下。寫在前面之前寫過(guò)一篇關(guān)于vue實(shí)現(xiàn)dialog會(huì)話框組件的文章http://www.gxlcms.com/article/139218.htm
推薦度:
導(dǎo)讀如何利用Vue中slot插槽分發(fā)父組件:這次給大家?guī)?lái)如何利用Vue中slot插槽分發(fā)父組件,利用Vue中slot插槽分發(fā)父組件的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來(lái)看一下。寫在前面之前寫過(guò)一篇關(guān)于vue實(shí)現(xiàn)dialog會(huì)話框組件的文章http://www.gxlcms.com/article/139218.htm
這次給大家?guī)?lái)如何利用Vue中slot插槽分發(fā)父組件,利用Vue中slot插槽分發(fā)父組件的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來(lái)看一下。

寫在前面

之前寫過(guò)一篇關(guān)于vue實(shí)現(xiàn)dialog會(huì)話框組件的文章http://www.gxlcms.com/article/139218.htm

講到了如何實(shí)現(xiàn)一個(gè)vue對(duì)話框組件,其中涉及到了父組件和子組件的通信,這個(gè)不用多說(shuō),看我之前的文章就能明白,文章最后也說(shuō)到了,我們可以使用slot插槽來(lái)編寫組件,slot用來(lái)分發(fā)內(nèi)容到子組件中,從而實(shí)現(xiàn)組件的高度復(fù)用,編寫的組件更加靈活。

還是結(jié)合對(duì)話框的例子,使用slot來(lái)實(shí)現(xiàn)對(duì)話框組件

注冊(cè)一個(gè)名叫dialog-tip的全局組件

 Vue.component('dialog-tip', {
 template: '#dialog-tip',
 props:['dialogShow','message'],
 data:function(){
 return {
 content:''
 }
 },
 methods:{
 }
 });

使用templete標(biāo)簽來(lái)定義這個(gè)組件

<template id="dialog-tip">
 <p class="dialog_tip" v-if="dialogShow">
 <p class="dialog_tip--mask"></p>
 <p class="dialog_tip--content">
 <p class="dialog_tip--contenttxt">
 <slot name="msg">請(qǐng)輸入1-8000之間任意整數(shù)</slot>
 </p>
 <p class="dialog_tip--contentbtns">
 <slot>
 <button class="btn">確定</button>
 <button class="btn">重新輸入</button>
 <button class="btn">去注冊(cè)</button>
 </slot>
 </p>
 </p>
 </p>
 </template>
<template id="dialog-tip">
 <p class="dialog_tip" v-if="dialogShow">
 <p class="dialog_tip--mask"></p>
 <p class="dialog_tip--content">
 <p class="dialog_tip--contenttxt">
 <slot name="msg">請(qǐng)輸入1-8000之間任意整數(shù)</slot>
 </p>
 <p class="dialog_tip--contentbtns">
 <slot>
 <button class="btn">確定</button>
 <button class="btn">重新輸入</button>
 <button class="btn">去注冊(cè)</button>
 </slot>
 </p>
 </p>
 </p>
 </template>

組件內(nèi)容包括兩部分 ,一個(gè)是提示內(nèi)容,一個(gè)是button按鈕,我們將要修改替換的內(nèi)容使用slot包含起來(lái),
這樣父組件就可以分發(fā)內(nèi)容到子組件里面了。

<p class="dialog_tip--contenttxt">
 <slot name="msg">請(qǐng)輸入1-8000之間任意整數(shù)</slot>
 </p>
 <p class="dialog_tip--contentbtns">
 <slot>
 <button class="btn">確定</button>
 <button class="btn">重新輸入</button>
 <button class="btn">去注冊(cè)</button>
 </slot>
 </p>

除了默認(rèn)插槽,還可以定義具名插槽 ,如果組件中有好幾個(gè)部分內(nèi)容需要替換,我們可以為它定義一個(gè)name,例如:

<slot name="msg">請(qǐng)輸入1-8000之間任意整數(shù)</slot>

這樣在使用組件的時(shí)候,指定slot的name ,就會(huì)將這一部分內(nèi)容替換掉,而不會(huì)替換其他的插槽內(nèi)容

<p slot="msg">請(qǐng)輸入正確手機(jī)號(hào)</p>

使用定義好的dialog組件

<dialog-tip message="hello" :dialog-show="dialogShow.tip3">
 <p slot="msg">請(qǐng)輸入正確手機(jī)號(hào)</p>
 <button class="btn" @click="closeDialogTip('tip3')">確定</button>
 </dialog-tip>
 <dialog-tip message="hello" :dialog-show="dialogShow.tip4">
 <p slot="msg">抱歉,沒(méi)有此用戶,請(qǐng)核實(shí)后輸入</p>
 <button class="btn" @click="closeDialogTip('tip4')">重新輸入</button>
 <button class="btn" @click="reg">去注冊(cè)</button>
 </dialog-tip>

如果不指定slot的名稱,默認(rèn)dialog-tip標(biāo)簽里面的內(nèi)容會(huì)替換子組件中使用slot包含的內(nèi)容部分,例如以上

使用slot指定了它的名稱來(lái)替換子組件中的對(duì)應(yīng)的slot部分,而沒(méi)有使用slot指定名稱的內(nèi)容會(huì)默認(rèn)將子組件中
沒(méi)有定義具名插槽的部分內(nèi)容替換掉。

需要注意的是,如果dialog-tip標(biāo)簽里沒(méi)有定義需要分發(fā)的內(nèi)容,那么子組件中會(huì)顯示默認(rèn)的插槽內(nèi)容

關(guān)于更多的slot用法,請(qǐng)移步https://cn.vuejs.org/v2/guide/components-slots.html

最后

效果圖

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!

推薦閱讀:

Vue.js內(nèi)偵聽(tīng)器使用案例解析

如何使用Vue SSR 組件加載

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

如何利用Vue中slot插槽分發(fā)父組件

如何利用Vue中slot插槽分發(fā)父組件:這次給大家?guī)?lái)如何利用Vue中slot插槽分發(fā)父組件,利用Vue中slot插槽分發(fā)父組件的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來(lái)看一下。寫在前面之前寫過(guò)一篇關(guān)于vue實(shí)現(xiàn)dialog會(huì)話框組件的文章http://www.gxlcms.com/article/139218.htm
推薦度:
標(biāo)簽: 使用 VUE 使用vue
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top