iframe实现vue嵌套外部系统

Posted qzuser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe实现vue嵌套外部系统相关的知识,希望对你有一定的参考价值。

实现目标:

  1. 外部系统相关配置放在配置文件中
  2. 外部系统渲染入口放在主系统中,由主系统router控制外部系统的加载
  3. 外部系统加载过程展示loading

相关代码:

// config.js
export default {
    collect: {
        staticAddress: \'http://127.0.0.1:9303\'
 },
 application: {
        staticAddress: \'http://127.0.0.1:9304\'
 }
};
// router.js
import config from \'./config.js\';
import DynamicComponent from \'./DynamicComponent.vue\';
{
     path: `${baseUrl}/collect`,
     name: \'collect\',
     props:config.collect,
     component: DynamicComponent
},
// DynamicComponent.vue
<template>
 <keep-alive> 
     <iframe ref="dynamicIframe"
     :src="staticAddress"
     frameborder="0"
     style="width:100%;height:100%;"
     @load="frameLoaded"
     />
 </keep-alive>
</template>
<script>
export default {
 name: "DynamicComponent",
 props: {
        staticAddress: {
            type: String,
            required: true
        }
 },
 beforeRouteEnter(to, from, next) {
        next(vm => {
            // element-ui loading效果
            vm.$showViewLoading();
        });
 },
 beforeDestroy() {
        this.$off(\'load\', this.frameLoaded);
 },
 methods: {
        frameLoaded() {
            this.$closeViewLoading();
        }
 }
};
</script>

以上是关于iframe实现vue嵌套外部系统的主要内容,如果未能解决你的问题,请参考以下文章

当使用iframe使用时出现多层的嵌套,想要从内部直接跳转到外部

在vue中使用Iframe嵌套问题

vue路由嵌套,如何子路由也有选中样式

js查找嵌套iframe的问题

iframe嵌套vue页面不能切换

iframe嵌套跳转