renderPage.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <div id="renderPage" :style="navStatusCss ? 'margin-left:64px;' : ''">
  3. <nav-bar />
  4. <tabber-list />
  5. <transition :name="transitionName" mode="out-in">
  6. <router-view class="routerView"></router-view>
  7. </transition>
  8. </div>
  9. </template>
  10. <script>
  11. import navBar from "./navBar";
  12. import tabberList from "@/components/tabberList";
  13. export default {
  14. components: { tabberList, navBar },
  15. data() {
  16. return {
  17. transitionName: "slide-right",
  18. };
  19. },
  20. computed: {
  21. //获取是否收起导航菜单
  22. navStatusCss() {
  23. return this.$store.state.navStatus;
  24. },
  25. },
  26. };
  27. </script>
  28. <style lang="less" scoped>
  29. #renderPage {
  30. margin-left: 226px;
  31. transition: all 0.3s;
  32. min-width: 786px;
  33. .routerView {
  34. max-height: calc(100vh - 120px);
  35. padding: 16px;
  36. overflow-x: auto;
  37. &::-webkit-scrollbar {
  38. width: 12px;
  39. }
  40. /* 滚动槽 */
  41. &::-webkit-scrollbar-track {
  42. border-radius: 10px;
  43. }
  44. /* 滚动条滑块 */
  45. &::-webkit-scrollbar-thumb {
  46. border-radius: 10px;
  47. background: #eee;
  48. }
  49. }
  50. .routerLoading {
  51. background: red;
  52. }
  53. }
  54. .slide-right-enter-active,
  55. .slide-right-leave-active,
  56. .slide-left-enter-active,
  57. .slide-left-leave-active {
  58. will-change: transform;
  59. transition: all 0.3s;
  60. // position: absolute;
  61. }
  62. .slide-right-enter {
  63. opacity: 0;
  64. transform: translate3d(-35%, 0, 0);
  65. }
  66. .slide-right-leave-active {
  67. opacity: 0;
  68. transform: translate3d(35%, 0, 0);
  69. }
  70. .slide-left-enter {
  71. opacity: 0;
  72. transform: translate3d(35%, 0, 0);
  73. }
  74. .slide-left-leave-active {
  75. opacity: 0;
  76. transform: translate3d(-35%, 0, 0);
  77. }
  78. </style>