我正在包装router-link以添加一些功能。
我需要检查当前路线是一条路线还是一条路线的子路段。
类似以下内容
我知道它不起作用,因为:active需要一个布尔值,但是javascript String.match返回一个数组;:这是为了解释我的目标
:active="$route.name.match('customer_users*')"
在router.js中,我将/customer/{customer_id}/users
命名为customer_users
,并将/customer/{customer_id}/users/{user_id}
命名为customer_users_edit
。
所以我希望能够在这两个路由的包装器中设置“:active”。
答案 0 :(得分:2)
使用$route.matched
属性来查看当前路线是您的customer_users
还是它的任何子级。
:active="$route.matched.some(({ name }) => name === 'customer_users')"
请参见https://router.vuejs.org/api/#route-object-properties
$ route.matched
类型:
Array<RouteRecord>
一个包含路线记录的数组,用于当前路线的所有嵌套路径段。