vue3 router
提供了一个方法,可以获得当前路由的所有直属父节点,例如:
获取方法如下:
const route = useRoute();
console.log("路由信息", route.matched);
原理:Vue Router
在实现matched
数组时,主要是通过递归匹配路由的方式来获取当前路由及其父路由的信息。当导航到某个路由时,Vue Router
会从路由配置中找到匹配该路径的路由记录,然后逐级向上遍历父路由,直到找到根路由为止,将所有匹配到的路由记录组成一个数组,这个数组就是matched
。
具体来说,实现matched
数组的过程包括以下几个步骤:
- 导航到目标路由。
- 根据路由配置,找到与当前路径匹配的路由记录。
- 将匹配到的路由记录以及它们的父路由记录依次添加到matched数组中,直到达到根路由。
- 将matched数组挂载到路由对象上,以便在组件中访问。
这样,无论是在嵌套路由结构中的任何一个子路由,都可以通过访问matched
数组来获取到当前路由及其父路由的信息。
总的来说,Vue Router
通过递归遍历路由配置来实现matched
数组,使得在组件中可以方便地获取到当前路由及其父路由的信息,从而实现了灵活的路由处理和组件渲染。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。