1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <template>
| <div>
| <el-row>
| <el-col v-for="item in homeData" :span="item.span">
| <component :is="item.currentComponent" :key="item.component"></component>
| </el-col>
| </el-row>
| </div>
| </template>
|
| <script>
| export default {
| name: "workIndex",
| components:{},
| data(){
| return {
| homeData:[{
| component:'UndoTaskPortlet',
| span:24
| }]
| }
| },
| created() {
| this.initData();
| },
| methods:{
| initData() {
| this.homeData.map(item => {
| this.loadCompoent(item);
| return item;
| })
| },
| loadCompoent(item){
| // 动态导入组件
| import(`@/views/wel/components/${item.component}.vue`).then((module) => {
| // 成功导入后,将组件注册到Vue实例中
| item.currentComponent = module.default;
| }).catch((error) => {
| // 处理导入失败的情况
| console.log('组件加载失败:', error);
| });
| },
| }
| }
| </script>
|
| <style scoped>
|
| </style>
|
|