Home.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <div class="home admin-home">
  3. <div class="home-header">
  4. <view-header>
  5. <div class="home-navs" slot="info">
  6. <ul>
  7. <li
  8. :class="{ act: curNav.name === nav.name }"
  9. v-for="(nav, index) in navs"
  10. :key="index"
  11. @click="switchNav(nav)"
  12. >
  13. <span class="nav-item-cont">{{ nav.title }}</span>
  14. </li>
  15. </ul>
  16. </div>
  17. </view-header>
  18. </div>
  19. <div class="home-body">
  20. <div class="home-main">
  21. <router-view />
  22. <view-footer></view-footer>
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. import { navs } from "../router";
  29. export default {
  30. name: "admin-home",
  31. data() {
  32. return {
  33. navs,
  34. curNav: {}
  35. };
  36. },
  37. mounted() {
  38. this.actCurNav(this.$route);
  39. },
  40. methods: {
  41. switchNav(item) {
  42. if (item.name === this.curNav.name) return;
  43. this.curNav = item;
  44. this.$router.push({
  45. name: item.name,
  46. params: {
  47. workId: this.$route.params.workId
  48. }
  49. });
  50. },
  51. actCurNav(router) {
  52. this.curNav = this.navs.find(item => item.name === router.name);
  53. }
  54. }
  55. };
  56. </script>