1 回答
TA贡献1836条经验 获得超5个赞
我认为您需要的是在循环内单独注册每个组件,如下所示:
子组件.js:
const subComponents = ['test', 'test2'];
export { subComponents }
main.js:
import { createApp, defineAsyncComponent } from 'vue';
import App from './App.vue';
import router from './router';
import { subComponents } from './subComponents';
const app = createApp(App);
subComponents.forEach(subComponent => {
const component = defineAsyncComponent(() => import(`@/components/sub/${subComponent}.vue`));
app.component(subComponent, component);
});
app.use(router);
app.mount('#app');
目前,您将一个不存在的subComponent变量作为第一个参数传递给单个实例,app.component并将数组作为第二个参数。
app.component应用于单个组件,第一个参数是组件的名称,第二个参数是组件本身。
因此,如果您循环遍历名称数组并使用该名称导入每个组件,然后使用该名称和导入的组件注册一个组件,它们将在您的整个应用程序中可用。
添加回答
举报