问题描述:只要页面没有强制刷新,存在组件切换,bus.$on方法会被多次绑定,造成事件多次触发
解决办法一:在每次调用方法前先解绑事件( bus.$off ),然后在重新绑定( bus.$on )
bus.$off('pagechangep'); //先解绑,不然会多次出发 bus.$on('pagechangep',function(i){ that.publishpageTo(i); });
解决办法二:注册的总线事件(Bus)要在组件销毁时(beforeDestroy/destroyed)卸载,否则会多次挂载,造成触发一次但多个响应的情况
beforeDestroy () { bus.$off("backUpLevel"); }