<template> <section class="app-main"> <transition name="fade-transform" mode="out-in" > <keep-alive> <router-view :key="key" /> </keep-alive> </transition> <message-drawer ref="nav-usermessage" /> </section> </template> <script> import MessageDrawer from './Message' export default { name: 'AppMain', components: { MessageDrawer }, computed: { key() { return this.$route.path } }, methods: { showMessage() { this.$nextTick(() => { this.$refs['nav-usermessage'].init() }) } } } </script> <style lang="scss" scoped> $navHeight:75px; .app-main { /* 50= navbar 50 */ min-height: calc(100vh - 75px); width: 100%; position: relative; overflow: hidden; background-color: #071A29; } .fixed-header+.app-main { padding-top: 50px; } .hasTagsView { .app-main { /* 84 = navbar + tags-view = 50 + 34 */ min-height: calc(100vh - 84px); } .fixed-header+.app-main { padding-top: 84px; } } </style> <style lang="scss"> // fix css style bug in open el-dialog .el-popup-parent--hidden { .fixed-header { padding-right: 15px; } } </style>