问题描述:
最近在做项目遇到一个问题:项目是一个mvc的框架,在项目站内切换的时候不会卸载上一个页面的组件,这就会导致一个问题,如果一个组件被多个页面调用,并且该组件上涉及到添加事件监听器,如果使用getId的方式获得dom并添加事件监听器,那势必会导致在a页面的时候调用这个组件,并在a组件实例上添加了监听器,当进入到b页面使用getId的方式获得dom是a页面的,并且监听器也并没有被移除,那再b页面上使用这个组件就会出问题。
解决办法:
使用ref标注组件实例,并且采用ref的方法获得dom,此时获得的dom就是每个组件实例的dom,并不会出现b页面获取到a页面的dom。
多个组件实例上添加事件监听器导致的问题
最新推荐文章于 2024-08-13 18:10:40 发布