Vuejs 移除事件绑定问题

mounted(){


var change=()=>{

    //do something

}

this.$store.state.audioDom.removeEventListener('durationchange',change);

this.$store.state.audioDom.addEventListener('durationchange',change);

//audioDom是audio标签元素,audio标签在同级组件中。

}


为什么解绑事件无效?每次mounted完就添加一个事件。 如何避免重复绑定事件?


开心每一天1111
浏览 1352回答 1
1回答

慕码人8056858

把绑定事件写到一个方法里面比如:bindEvent(){this.$store.state.audioDom.addEventListener('durationchange',change);//加一个绑定状态this.isBinded = true;}然后在mounted里面判断isBinded这个值就行了mounted(){if(!this.isBinded){    this.bindEvent()}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript