在Nuxt/vue-router项目中,我需要在路由改变时显示提示框。具体来说,当路由更改时,触发通知,返回后会再次触发通知。
第一次触发通知显示一个弹窗,但第二次会触发两个弹窗。
有办法修复吗?
发布于 2020-12-28 12:02
共1个回答
UJ
游客uJLTPs
这个问题是这样的:当牛使用Vue-router切换到另一条路由时,初始组件就会被destroyed,但它的监听器(Listeners)不会。因此,当你回到第一条路由时,将再次创建初始组件,并创建一个新的重复监听器(Listener),因此相同的事件将被监听两次(或三次,或四次,根据您返回同一条路线的次数而定)。
可以在beforeDestroy()
中使用$off
关闭这些时间的监听。
回答问题