学习如何在Vue 3中实现动态组件导入
P粉253800312
2023-08-24 16:00:23
<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>
在Vue 3中,你需要使用
defineAsyncComponent
来懒加载组件https://v3-migration.vuejs.org/breaking-changes/async-components.html#overview