uniapp开发H5、小程序和APP能否使用 import() 来动态加载组件
- 发布:2025-10-27 15:41
- 更新:2025-10-27 17:07
- 阅读:39
闪到腰的咸鱼 (作者)
<component :is="componentName"></component>
this.$nextTick(() => {
import(`@/components/${this.componentName}.vue`).then(module => {
this.$options.components[this.componentName] = module.default;
this.$forceUpdate(); // 强制重新渲染以应用新的组件定义
}).catch(err => {
console.log(err);
});
}); -
-
闪到腰的咸鱼 (作者)
回复 DCloud_UNI_JBB: const componentMap = {
navBar: () => import('@/components/navBar.vue'),
};
加了这个就可以了2025-10-27 17:34
闪到腰的咸鱼 (作者)
为什么使用import('@/components/navBar.vue').then()可以,但是使用import(
@/components/${this.component}.vue).then(),他就会报错找不到“ Cannot find module '@/components/navBar.vue'”2025-10-27 16:36
DCloud_UNI_JBB
回复 闪到腰的咸鱼: this.component 是啥?
2025-10-27 16:40
闪到腰的咸鱼 (作者)
回复 DCloud_UNI_JBB: 一个从接口获取到的组件名,在data里面我定义成了componentName: 'navBar',import(@/components/${this.componentName}.vue).then()
2025-10-27 16:48
DCloud_UNI_JBB
回复 闪到腰的咸鱼: 没有加引号?
2025-10-27 16:49
闪到腰的咸鱼 (作者)
回复 DCloud_UNI_JBB: 加了的,import(
@/components/${this.componentName}.vue).then()2025-10-27 16:54
DCloud_UNI_JBB
回复 闪到腰的咸鱼: 哪个端?小程序和app可能不支持
2025-10-27 16:55
闪到腰的咸鱼 (作者)
回复 DCloud_UNI_JBB: H5
2025-10-27 16:56
DCloud_UNI_JBB
回复 闪到腰的咸鱼: vue版本是多少?你的代码咋写的
2025-10-27 17:00
闪到腰的咸鱼 (作者)
回复 DCloud_UNI_JBB: V2
2025-10-27 17:07
闪到腰的咸鱼 (作者)
回复 DCloud_UNI_JBB:代码我放在另一个评论里面
2025-10-27 17:08