是否有方法检测是否发生了导航或导航尝试?最明显的方法是这样做:
const route = useRoute()
watch(route, () => {
// some code
})
但是这样,如果用户按下指向已经打开的页面的RouterLink
,什么也不会发生。
我正在制作一个下拉菜单,它是RouterView
的兄弟,如果用户尝试导航,即使他导航到他已经在的位置,它应该关闭。
另一种方法是在每个可见的RouterLink
上放置一个@click
侦听器,但这似乎不是最佳方法。
navigation guards似乎也没有被触发。
1条答案
按热度按时间ctehm74n1#
原来
router.afterEach
确实会在冗余导航上被触发。这解决了我的问题。