index.vue 791 B

123456789101112131415161718192021222324252627
  1. <template>
  2. <transition-group name="fade-transform" mode="out-in">
  3. <inner-link
  4. v-for="(item, index) in tagsViewStore.iframeViews"
  5. :key="item.path"
  6. :iframeId="'iframe' + index"
  7. v-show="route.path === item.path"
  8. :src="iframeUrl(item.meta ? item.meta.link : '', item.query)"
  9. ></inner-link>
  10. </transition-group>
  11. </template>
  12. <script setup lang="ts">
  13. import InnerLink from "../InnerLink/index.vue";
  14. import useTagsViewStore from '@/store/modules/tagsView';
  15. const route = useRoute();
  16. const tagsViewStore = useTagsViewStore();
  17. function iframeUrl(url: string, query: any) {
  18. if (Object.keys(query).length > 0) {
  19. let params = Object.keys(query).map((key) => key + "=" + query[key]).join("&");
  20. return url + "?" + params;
  21. }
  22. return url;
  23. }
  24. </script>