美文网首页
vue父页面给iframe子页面传值

vue父页面给iframe子页面传值

作者: 祈澈菇凉 | 来源:发表于2023-08-09 15:46 被阅读0次

    在vue父页面有两个个参数 名称和图标,需要把这两个参数传到iframe的地图里面,在地图触发绘点事件的时候,获取到传来的参数并且展示

    vue:传值给子页面iframe

    // 传值给子页面iframe(2个参数)
                handleIframeLoad() {
                    const iframeWindow = this.$refs.myIframe.contentWindow;
                    const data = {
                        imgUrl: this.imgUrl,
                        name: this.name,
                    };
                    iframeWindow.postMessage(data, '*');
                },
    

    iframe接收父页面的值
    在iframe中,使用window.addEventListener监听message事件,然后在事件处理程序中获取传递的数据:

    <!-- iframe.html -->
    <script>
    // 监听来自vue父页面的消息
    window.addEventListener('message', function(event) {
      const data = event.data;
      // 在这里处理接收到的消息
      console.log('Received message from parent:', data);
    });
    </script>
    

    当父页面中的按钮被点击时,会将值传递给子页面的iframe元素。子页面通过监听message事件获取传递的值,并进行相应的处理。

    这种方法需要父页面和子页面在同一个域名下,否则会因为浏览器的同源策略而导致通信失败。

    相关文章

      网友评论

          本文标题:vue父页面给iframe子页面传值

          本文链接:https://www.haomeiwen.com/subject/zlxapdtx.html