关于uniapp的事件监听,使用uni.$once和uni.$on导致的重复监听


最近写项目的时候遇到个问题,就是在使用uniapp的事件监听器时出现重复监听问题。一开始我是用的uni.$on去监听事件,然后出现了重复的触发监听。百度了下,官方提示单次触发的建议使用uni.$once。于是乎我改为了uni.$once,确实重复监听的问题没了,但是又伴随一个新的问题。那就是当打开的二级页面未触发监听时,监听是仍然存在的。所以就造成了如果你一直在打开页面而未触发监听,就会在触发的那一次把之前未触发的监听全部触发,导致你接收到了多次值。所以,最后我是在onUnload()页面生命周期卸载了监听,就是每次退出二级页面的时候都对监听进行移除,问题就解决了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM