組件,專門用來實(shí)現(xiàn)動(dòng)態(tài)組件的渲染。示例代碼如下:" /> 波多野结衣办公室33分钟,国产精品久久久久久久久久免费,公交车上~嗯啊被高潮

国产精品久久久久久无毒不卡,国产av午夜精品一区二区三区,国产成人精品日本亚洲专区61,成人爽a毛片免费啪啪,国产精品99精品久久免费

首頁技術(shù)文章正文

Vue如何實(shí)現(xiàn)動(dòng)態(tài)組件渲染?

更新時(shí)間:2022-09-15 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

動(dòng)態(tài)組件指的是動(dòng)態(tài)切換組件的顯示與隱藏。 vue 提供了一個(gè)內(nèi)置的<component>組件,專門用來實(shí)現(xiàn)動(dòng)態(tài)組件的渲染。示例代碼如下:

data() {
  //1.當(dāng)前要渲染的組件名稱
  return { comName:'Left'}
}

<!--2.通過is屬性,動(dòng)態(tài)指定要渲染的組件-->
<component 
:is="comName"></component>

<!--3.點(diǎn)擊按鈕,動(dòng)態(tài)切換組件的名稱-->
<button @click="comName='Left'">展示 
Left 組件</button>
<button @click="comName='Right'">展示 Right 
組件</button>
默認(rèn)情況下,vue切換動(dòng)態(tài)組件時(shí)無法保持組件的狀態(tài)。此時(shí)可以使用 vue 內(nèi)置的 組件保持動(dòng)態(tài)組件的狀態(tài),示例代碼如下:
<keep-alive>
  <component :is="comName"></component>
</keep-alive>
keep-alive 對(duì)應(yīng)的生命周期函數(shù)

當(dāng)組件被緩存時(shí),會(huì)自動(dòng)觸發(fā)組件的 deactivated 生命周期函數(shù)。當(dāng)組件被激活時(shí),會(huì)自動(dòng)觸發(fā)組件的 activated 生命周期函數(shù)。

export default {
  crkated(){ console.log('組件被創(chuàng)建了') },
  destroyed(){console.log('組件被銷毀了')},
  
  activated(){console.log('Left組件被激活了!')},
  deactivated(){console.log('Left組件被緩存了!') }
}

keep-alive 的 include 屬性

include 屬性用來指定:只有名稱匹配的組件會(huì)被緩存。多個(gè)組件名之間使用英文的逗號(hào)分隔:

<keep-alive include="MyLeft,MyRight">
  <component :is="comName"></component>
</keep-alive>





分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!