Home.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <el-container>
  3. <el-header style="padding:0;">
  4. <v-head></v-head>
  5. </el-header>
  6. <el-container>
  7. <el-aside width="200px">
  8. <v-sidebar></v-sidebar>
  9. </el-aside>
  10. <el-main>
  11. <div class="content-box" :class="{ 'content-collapse': collapse }">
  12. <v-tags></v-tags>
  13. <div class="content">
  14. <transition name="move" mode="out-in">
  15. <el-row>
  16. <el-col :span="24" class="main">
  17. <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
  18. <el-col :span="24" class="container">
  19. <router-view></router-view>
  20. </el-col>
  21. </el-col>
  22. </el-row>
  23. </transition>
  24. <el-backtop target=".content"></el-backtop>
  25. </div>
  26. </div>
  27. </el-main>
  28. </el-container>
  29. </el-container>
  30. </template>
  31. <script>
  32. import breadcrumb from '@c/common/breadcrumb.vue';
  33. import vHead from './Header.vue';
  34. import vSidebar from './Sidebar.vue';
  35. import vTags from './Tags.vue';
  36. import bus from './bus';
  37. export default {
  38. data() {
  39. return {
  40. tagsList: [],
  41. collapse: false,
  42. };
  43. },
  44. components: {
  45. vHead,
  46. vSidebar,
  47. vTags,
  48. breadcrumb,
  49. },
  50. created() {
  51. bus.$on('collapse-content', msg => {
  52. this.collapse = msg;
  53. });
  54. // 只有在标签页列表里的页面才使用keep-alive,即关闭标签之后就不保存到内存中了。
  55. bus.$on('tags', msg => {
  56. let arr = [];
  57. for (let i = 0, len = msg.length; i < len; i++) {
  58. msg[i].name && arr.push(msg[i].name);
  59. }
  60. this.tagsList = arr;
  61. });
  62. },
  63. };
  64. </script>