参考 blog.csdn.net/weixin_4511…
components: {
TreeDemo: () => import('@/components/TreeDemo.vue'),
},
<component :is="activeComponent"/>
watch: {
activeTabValue: {
handler(componentName) {
console.log('watch---activeTabValue---start');
if (!componentName) return
const fileName = componentName[0].toLowerCase() + componentName.slice(1)
this.activeComponent = (resolve) => require([`./${fileName}/${componentName}.vue`], resolve)
},
immediate: true
}
},
const allComponents = require.context("./components", true, /.vue$/);
const components = {};
allComponents.keys().forEach((item) => {
const component = allComponents(item);
const name = component.default.name;
components[name] = component.default;
});
export default {
components: { ...components },
}