beforeRouteLeave
时会触发组件内防护<router-link to="/">
。但是,当我以编程方式调用router.push({ path: "/" })
时并不会触发该事件。
这有什么问题吗?
修改
我只是尝试制作一个sandbox,发现它只是在使用动态参数导航到同一路径时才会发生。
例如,从/item/1
导航到/item/2
会导致此问题。
答案 0 :(得分:2)
我认为这是一种意想不到的行为,如果您提供更多的上下文,它会有所帮助。
编辑
如果您只是传递其他参数,实际上并不会离开路线,这就是为什么beforeRouteLeave
不会被触发的原因。
相反,您可能要使用beforeRouteUpdate
有关组件内防护罩的详细信息,请参见docs。