index.vue 730 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <template>
  2. <div class="slide">
  3. <el-menu :default-active="activeName" @select="selectHandle">
  4. <sub-menu :nav="nav" v-for="nav in navs" :key="nav.name" />
  5. </el-menu>
  6. </div>
  7. </template>
  8. <script>
  9. import subMenu from './submenu'
  10. import navs from '@/state/navs'
  11. import { attach } from '@/constant/view'
  12. export default {
  13. setup() {
  14. return { navs }
  15. },
  16. computed: {
  17. activeName() {
  18. let routeName = this.$route.name
  19. return attach[routeName] ? attach[routeName] : routeName
  20. }
  21. },
  22. methods: {
  23. selectHandle(data) {
  24. this.$router.push({name: data})
  25. }
  26. },
  27. components: {
  28. 'sub-menu': subMenu
  29. }
  30. }
  31. </script>
  32. <style lang="scss" scoped>
  33. .slide {
  34. background: #FFFFFF;
  35. }
  36. </style>