在Nuxt/vue-router项目中,我需要在路由改变时显示提示框。具体来说,当路由更改时,触发通知,返回后会再次触发通知。

第一次触发通知显示一个弹窗,但第二次会触发两个弹窗。

有办法修复吗?

发布于 2020-12-28 12:02
共1个回答
UJ
游客uJLTPs

这个问题是这样的:当牛使用Vue-router切换到另一条路由时,初始组件就会被destroyed,但它的监听器(Listeners)不会。因此,当你回到第一条路由时,将再次创建初始组件,并创建一个新的重复监听器(Listener),因此相同的事件将被监听两次(或三次,或四次,根据您返回同一条路线的次数而定)。

可以在beforeDestroy()中使用$off关闭这些时间的监听。

回答问题