index.vue 726 B

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