比如主页面可能根据权限引入不同的组件显示不同的类容,并不是引入所有的组件再用v-if显示隐藏
this.theme = () => import(./cockpit/${this.toDisplayMgtArr[i].egmList[j].graphicalType}
) 这种动态引入在vue项目里面没问题,在uniapp项目没用
比如主页面可能根据权限引入不同的组件显示不同的类容,并不是引入所有的组件再用v-if显示隐藏
this.theme = () => import(./cockpit/${this.toDisplayMgtArr[i].egmList[j].graphicalType}
) 这种动态引入在vue项目里面没问题,在uniapp项目没用
一下方式只使用于h5
<template>
<view class="uc-component">
<view></view>
</view>
</template>
<script>
import Vue from 'vue'
export default {
name:"uc-component",
props: {
name: {
type: String,
required: true
},
// 目录
directory: {
type: String,
required: false,
default: 'pages'
}
},
mounted(){
this.dynamicImport(this.name);
},
watch:{
name(value){
this.dynamicImport(value);
}
},
methods:{
dynamicImport(fileName) {
// #ifdef H5
require([`@/pages/${fileName}/${fileName}.vue`],component => {
const Component = Vue.extend(component.default);
new Component().$mount(this.$el.children[0]);
});
// #endif
}
}
}
</script>
使用方式
<uc-component :name="curPage"></uc-component>
vue3可以用这种方式:import.meta.globEager("/pages/test/*/.vue");
参考:https://ext.dcloud.net.cn/plugin?id=12558
Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序
使用v-if判断一下吧
长刀之夜 (作者)
没有
2021-03-04 14:55