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

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

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

公司某項(xiàng)目需求在頁面顯示的組件是根據(jù)角色變化而變化的,在這個(gè)項(xiàng)目中我使用了elementplus的el-tabs來動(dòng)態(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)不對(duì)勁,啥也不顯示,進(jìn)devtools一看,這東西怎么沒掛上啊

啥也沒有!

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

官網(wǎng)中明確說明組件是通過變量引用而不是基于字符串組件名注冊(cè)的,然而我在數(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中動(dòng)態(tài)加載組件的文章就介紹到這了,更多相關(guān)vue3 setup動(dòng)態(tài)加載組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

镇江市| 永清县| 神池县| 柘城县| 景德镇市| 淳化县| 乃东县| 肥乡县| 广东省| 时尚| 前郭尔| 攀枝花市| 遂川县| 华池县| 鄄城县| 桑日县| 吴桥县| 朝阳县| 沙坪坝区| 溧水县| 乐业县| 岫岩| 灌南县| 蓬安县| 南宫市| 宣化县| 海林市| 东乡县| 红河县| 石泉县| 丰镇市| 东台市| 武宁县| 荣昌县| 阿瓦提县| 竹北市| 北京市| 苍南县| 朝阳市| 关岭| 甘泉县|