ke_junjie
2025-06-04 bb6e2230bb8ded3c5546bc4e4c282ee343754475
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 class="sidebarItem">
    <template v-if="!itemRoute.children">
      <el-menu-item :index="itemRoute.path">
        <item :icon="itemRoute.meta.icon" :title="itemRoute.meta.title" />
      </el-menu-item>
    </template>
 
    <el-submenu v-else ref="subMenu" :index="itemRoute.path" popper-append-to-body>
      <template slot="title">
        <item :icon="itemRoute.meta.icon" :title="itemRoute.meta.title" />
      </template>
      <sidebar-item v-for="item in itemRoute.children" :key="item.path" :itemRoute="item" />
    </el-submenu>
  </div>
</template>
 
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
import item from './item';
export default {
  //name放入模板名,方便在其他地方引用
  name: 'SidebarItem',
  props: ['itemRoute'],
  //import引入的组件需要注入到对象中才能使用
  components: { item },
  data() {
    //这里存放数据
    return {};
  },
  //监听属性 类似于data概念
  computed: {},
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {},
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {},
  //方法集合
  methods: {},
  //监控data中的数据变化
  watch: {},
  //如果页面有keep-alive缓存功能,这个函数会触发
  activated() {}
};
</script>
<style lang="scss" scoped>
/* @import url(); 引入公共css类 */
</style>