兰宝车间质量管理系统-前端
疯狂的狮子Li
2025-01-20 5e440a7dc434c43eb828fa62cf9c12b0078b8565
src/layout/components/AppMain.vue
@@ -1,13 +1,13 @@
<template>
  <section class="app-main">
    <router-view v-slot="{ Component, route }">
      <transition :enter-active-class="animante" mode="out-in">
        <div>
          <keep-alive v-if="!route.meta.noCache" :include="tagsViewStore.cachedViews">
            <component :is="Component" v-if="!route.meta.link" :key="route.path" />
          </keep-alive>
          <component :is="Component" v-if="!route.meta.link && route.meta.noCache" :key="route.path" />
        </div>
      <transition v-if="!route.meta.noCache" :enter-active-class="animante" mode="out-in">
        <keep-alive v-if="!route.meta.noCache" :include="tagsViewStore.cachedViews">
          <component :is="Component" v-if="!route.meta.link" :key="route.path" />
        </keep-alive>
      </transition>
      <transition v-if="route.meta.noCache" :enter-active-class="animante" mode="out-in">
        <component :is="Component" v-if="!route.meta.link && route.meta.noCache" :key="route.path" />
      </transition>
    </router-view>
    <iframe-toggle />
@@ -20,6 +20,7 @@
import IframeToggle from './IframeToggle/index.vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const route = useRoute();
const tagsViewStore = useTagsViewStore();
// 随机动画集合
@@ -37,6 +38,20 @@
  },
  { immediate: true }
);
onMounted(() => {
  addIframe()
})
watchEffect((route) => {
  addIframe()
})
function addIframe() {
  if (route.meta.link) {
    useTagsViewStore().addIframeView(route)
  }
}
</script>
<style lang="scss" scoped>