index.vue 817 B

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <transition-group name="fade-transform" mode="out-in">
  3. <inner-link
  4. v-for="(item, index) in iframeViews"
  5. :key="item.path"
  6. :iframeId="'iframe' + index"
  7. v-show="$route.path === item.path"
  8. :src="iframeUrl(item.meta.link, item.query)"
  9. ></inner-link>
  10. </transition-group>
  11. </template>
  12. <script>
  13. import InnerLink from "../InnerLink/index";
  14. export default {
  15. components: { InnerLink },
  16. computed: {
  17. iframeViews() {
  18. return this.$store.state.tagsView.iframeViews;
  19. }
  20. },
  21. methods: {
  22. iframeUrl(url, query) {
  23. if (Object.keys(query).length > 0) {
  24. let params = Object.keys(query).map((key) => key + "=" + query[key]).join("&");
  25. return url + "?" + params;
  26. }
  27. return url;
  28. }
  29. }
  30. }
  31. </script>