| | |
| | | <section class="app-main">
|
| | | <router-view v-slot="{ Component, route }">
|
| | | <transition name="fade-transform" mode="out-in">
|
| | | <keep-alive :include="tagsViewStore.cachedViews">
|
| | | <component v-if="!route.meta.link" :is="Component" :key="route.path"/>
|
| | | </keep-alive>
|
| | | <div v-if="!route.meta.link" class="route-view-wrapper">
|
| | | <keep-alive :include="tagsViewStore.cachedViews">
|
| | | <component :is="Component" :key="route.path"/>
|
| | | </keep-alive>
|
| | | </div>
|
| | | <div v-else class="route-view-wrapper"></div>
|
| | | </transition>
|
| | | </router-view>
|
| | | <iframe-toggle />
|
| | |
| | | import iframeToggle from "./IframeToggle/index"
|
| | | import useTagsViewStore from '@/store/modules/tagsView'
|
| | |
|
| | | const route = useRoute()
|
| | | const tagsViewStore = useTagsViewStore()
|
| | |
|
| | | onMounted(() => {
|
| | | addIframe()
|
| | | })
|
| | |
|
| | | watchEffect(() => {
|
| | | addIframe()
|
| | | })
|
| | |
|
| | | function addIframe() {
|
| | | if (route.meta.link) {
|
| | | useTagsViewStore().addIframeView(route)
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style lang="scss" scoped>
|
| | |
| | | width: 100%;
|
| | | position: relative;
|
| | | overflow: hidden;
|
| | | background: #F5F7FB;
|
| | | }
|
| | |
|
| | | .route-view-wrapper {
|
| | | width: 100%;
|
| | | height: 100%;
|
| | | }
|
| | |
|
| | | .fixed-header + .app-main {
|