公司某專案需求在頁面顯示的組件是根據角色變化而變化的,在這個專案中我使用了elementplus的el-tabs來動態的顯示這些組件,如下圖所示

資料內容大概是這樣的

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

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

那就照著官網照貓畫虎吧,于是就寫下了如下代碼


然后發現不對勁,啥也不顯示,進devtools一看,這東西怎么沒掛上啊

啥也沒有!
沒辦法,再仔細看看官網檔案吧

官網中明確說明組件是通過變數參考而不是基于字串組件名注冊的,然而我在資料庫中取出來的組件名必然是字串,這可咋整,只能用eval了唄

但是還是不行,瀏覽器報錯

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

OK,能看見了

查看列印結果,moudle_id內容也變成組件了

問題解決
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/535226.html
標籤:其他
上一篇:Vue的data,components,methods,computed,mounted,activated,deactivated,beforeCreate,created的含義及用法
