最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3的setup在el-tab中動態(tài)加載組件的方法

 更新時(shí)間:2022年11月18日 09:53:19   作者:BigFace123  
公司某項(xiàng)目需求在頁面顯示的組件是根據(jù)角色變化而變化的,怎么實(shí)現(xiàn)這個(gè)效果呢,下面小編給大家介紹下Vue3的setup在el-tab中動態(tài)加載組件的方法,需要的朋友可以參考下

公司某項(xiàng)目需求在頁面顯示的組件是根據(jù)角色變化而變化的,在這個(gè)項(xiàng)目中我使用了elementplus的el-tabs來動態(tài)的顯示這些組件,如下圖所示

<template>
      <component style="margin-top:15px" v-for="item in pageList" :is="item.module_id"/>
</template>

數(shù)據(jù)內(nèi)容大概是這樣的

在未使用setup語法糖時(shí)候我要引入組件只需要在components中定義組件就好了,如下圖

然后就可以快樂得在component組件的:is中遍歷進(jìn)組件的名稱就好了;但是在使用了setup語法糖之后,沒有了components選項(xiàng),我突然就有點(diǎn)無從下手,在vue3官網(wǎng)中我看到了setup掛載組件的用法

那就照著官網(wǎng)照貓畫虎吧,于是就寫下了如下代碼

<div>
   <el-tabs type="border-card">
      <el-tab-pane v-for="page in pageList" :label="page.module_desc">
         <componet :is="page.module_id"></component>
       </el-tabs>
</div>

然后發(fā)現(xiàn)不對勁,啥也不顯示,進(jìn)devtools一看,這東西怎么沒掛上啊

啥也沒有!

沒辦法,再仔細(xì)看看官網(wǎng)文檔吧

官網(wǎng)中明確說明組件是通過變量引用而不是基于字符串組件名注冊的,然而我在數(shù)據(jù)庫中取出來的組件名必然是字符串,這可咋整,只能用eval了唄

pageList.value=
    (await  GetMainpageList(store.state.userid)).data
       .mpa(x=>{
           return {module_desc:x.module_desc,module_id:eval(x.module_id)}
     })

但是還是不行,瀏覽器報(bào)錯(cuò)

難道import定義組件在這里面不行?那就試試defineAsyncComponent試試

OK,能看見了

查看打印結(jié)果,moudle_id內(nèi)容也變成組件了

問題解決

到此這篇關(guān)于Vue3的setup在el-tab中動態(tài)加載組件的文章就介紹到這了,更多相關(guān)vue3 setup動態(tài)加載組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

三都| 五莲县| 万安县| 西畴县| 甘谷县| 剑河县| 凭祥市| 长垣县| 香港 | 资中县| 庄浪县| 赣州市| 茶陵县| 仙居县| 达尔| 健康| 祁东县| 弥勒县| 墨脱县| 惠来县| 湘潭市| 蚌埠市| 屏南县| 密云县| 锦屏县| 平定县| 灵寿县| 洱源县| 宁陵县| 乌兰察布市| 阜新| 新乡县| 河西区| 新安县| 南通市| 旬邑县| 繁昌县| 白朗县| 府谷县| 双柏县| 新田县|