1.使用场景
有些情况下,我需要使用组件路径动态的方式加载组件。
2.实现方法
import { defineAsyncComponent } from 'vue';
/**
* 根据view组件路径异步加载组件.
* @param {String} view 组件路径 这个文件在views 下.
* @returns {*}
*/
AppUtil.loadComponent=function (view){
const modules = import.meta.glob('@/views/**/*.vue');
let path="/src/views/" +view;
return defineAsyncComponent( modules[path]);
}
我们可以看到上面的代码,他的作用传入一个组件的路径,通过 import.meta.glob 方法加载目录和组件的映射,我们可以看到虽然使用了通配符,但实际上这个方法执行起来并不慢。
这个我们可以看到这个方法变成下面这样
可以发现实际编译成了一个map对象
{path:()=>{}}
我们通过 传入的路径,得到异步得组件对象。
标签:views,路径,VUE3,组件,import,加载,view From: https://www.cnblogs.com/yg_zhang/p/18114614