FrameSimple.vue 863 B

123456789101112131415161718192021222324
  1. <template>
  2. <div v-if="showFrame">
  3. <template v-for="frame in getFramePages" :key="frame.path">
  4. <template v-if="frame.meta.frameSrc && showIframe(frame)">
  5. <FramePage :frame="frame" :fullHeight="true" />
  6. </template>
  7. </template>
  8. </div>
  9. </template>
  10. <script lang="ts">
  11. import { computed, defineComponent, unref } from 'vue';
  12. import FramePage from '@jeesite/core/layouts/iframe/FramePage.vue';
  13. import { useFrameKeepAlive } from '@jeesite/core/layouts/iframe/useFrameKeepAlive';
  14. export default defineComponent({
  15. name: 'FrameSimple',
  16. components: { FramePage },
  17. setup() {
  18. const { getFramePages, hasRenderFrame, showIframe } = useFrameKeepAlive();
  19. const showFrame = computed(() => unref(getFramePages).length > 0);
  20. return { getFramePages, hasRenderFrame, showIframe, showFrame };
  21. },
  22. });
  23. </script>