搜尋

首頁  >  問答  >  主體

學習如何在Vue 3中實現動態元件導入

<p>根據這篇文章,我想要將元件動態地匯入到我的Vue 3應用程式中。視圖的程式碼如下:</p> <pre class="brush:php;toolbar:false;"><template> <div class="page"> <latest-box v-if="showLatestBox" /> </div> </template> <script> // @ 是 /src 的別名 // 這種方式有效 //import LatestBox from '@/components/LatestBox.vue' export default { name: 'Page 1', data() { return { showLatestBox: true, } }, components: { LatestBox: () => import('@/components/LatestBox.vue') // 此方式無效 } } </script></pre> <p>程式碼沒有報錯,但是我在頁面上看不到元件。如果我使用第一種導入方式,它可以工作。我漏掉了什麼嗎? </p>
P粉253800312P粉253800312461 天前653

全部回覆(1)我來回復

  • P粉970736384

    P粉9707363842023-08-25 09:09:03

    在Vue 3中,你需要使用defineAsyncComponent來懶載入元件

    import { defineAsyncComponent } from 'vue'
    ...
        components: {
            LatestBox: defineAsyncComponent(() => import('@/components/LatestBox.vue'))
        }

    https://v3-migration.vuejs.org/breaking-changes/async-components.html#overview

    回覆
    0
  • 取消回覆