zoukankan      html  css  js  c++  java
  • vue_iframe使用postmessage传值中事件多次绑定问题解决

    问题

    在vue项目中使用了iframe,iframe和vue页面交互使用了postMessage,如下代码,发现一个bug,重新进入这个页面,1就会多打印,次数和进入页面的次数相同

    //iframe
    window.parent.postMessage({
       info:2
    })
    //di.vue
    mounted(){
        window.removeEventListener('message,this.diHandler)
        window.addEventListener('message',this.diHandler);
    }
    methods:{
      diHandler(){
         console.log(1)
      }
    }

    解决

    vue的生命周期中又一句话:updateDestory用于做事件的解绑....

    问题解决了

    具体原理等我之后在补充

    //di.vue
    mounted(){    
        window.addEventListener('message',this.diHandler);
    },
    updateDestory(){
        window.removeEventListener('message,this.diHandler)
    },
    methods:{
      diHandler(){
         console.log(1)
      }
    }
  • 相关阅读:
    封装cookie
    敏感词过滤
    面向对象改成选项卡
    正则表达式
    cookie
    DOM
    系统对象
    cookie记录用户名
    6个原则
    23中设计模式
  • 原文地址:https://www.cnblogs.com/liuXiaoDi/p/13260239.html
Copyright © 2011-2022 走看看