App.vue 891 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <script setup>
  2. import { RouterView } from 'vue-router'
  3. import HomeHeader from '@/components/HomeHeader.vue'
  4. import HomeAside from '@/components/HomeAside.vue';
  5. import { watch, ref } from 'vue'
  6. import { useRoute, useRouter } from 'vue-router'
  7. const route = useRoute()
  8. const pageName = ref(route.name)
  9. watch(
  10. () => route.fullPath,
  11. (n, o) => {
  12. pageName.value = route.name
  13. }
  14. )
  15. </script>
  16. <template>
  17. <div id="main">
  18. <HomeHeader />
  19. <div id="content">
  20. <div id="aside" v-if="pageName != 'login' && pageName != 'setup'">
  21. <HomeAside />
  22. </div>
  23. <div id="body">
  24. <RouterView />
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <style scoped>
  30. #aside {
  31. background-color: #F1F1F1;
  32. }
  33. #body {
  34. width: 100%;
  35. height: 100%;
  36. }
  37. #content {
  38. display: flex;
  39. height: 100%;
  40. }
  41. #main {
  42. height: 100%;
  43. display: flex;
  44. flex-direction: column;
  45. }
  46. </style>