vue调用嵌套iframe的方法

结合elementui中的drawer,在第一次被打开之前是不会渲染dom的,因此需要等渲染完成才获取iframe组件
vue:

<template>
<el-drawer :with-header="false" :visible.sync="drawer" :before-close="handleClose" class="helpHelperPop" ref="drawer" size="200px">
     <div class="height100">
         <iframe src="./assisHelpHtml/relatedTopics.html" frameborder="0" class="height100" style=" 100%;" ref="helpNestedFrame" id="helpNestedFrame"></iframe>
     </div>
</el-drawer>
</template>

methods: {
    closeHelp() {
      this.drawer = true;
      this.$nextTick(() => {
        this.$refs.helpNestedFrame.onload = () => {
          this.$refs.helpNestedFrame.contentWindow.子组件方法名()
        };
      });
    },
}

iframe的src中需要添加下面的方法:

<script>
      function 子组件方法名(){
            console.log('供父组件调用的方法')
      }
</script>
原文地址:https://www.cnblogs.com/yx1102/p/13640568.html