Vue-router 组件内防护不会触发 router.push() 被调用

Omi*_*mid 3 vue.js vue-router

beforeRouteLeave单击 时会触发组件内防护<router-link to="/">。但是,当我以编程方式调用时,它不会被触发router.push({ path: "/" })

难道这有什么问题吗?

编辑

我只是尝试制作一个沙箱,发现只要使用动态参数导航到同一路径就会发生这种情况。

例如,从 导航到/item/1/item/2导致此问题。

Sam*_*meh 6

我认为这是一种意想不到的行为,如果您提供更多背景信息,将会有更多帮助。

编辑

如果您只是传递不同的参数,您实际上并没有离开路线beforeRouteLeave,这就是为什么不会被触发的原因。

相反,您可能想使用beforeRouteUpdate

有关组件内防护的更多信息,请参阅文档