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>
|
|