我有一个带有"Projects"选项。在我的vue-router中,我定义了以下路由:
/projects
/projects/:project_id
对于/project
,这将加载所有项目的列表,而/projects/:project_id
应该仅显示单个项目的详细信息。在每种情况下,UI都填充了空间,它们之间没有共享的行为/模板。
我想要"项目"选项显示为活动状态,即使用户处于/projects/:project_id
。
我在这里有什么选择?我避免嵌套子视图,因为我不想/不需要它们之间的共享行为。
需要router-link-exact-active
https://github.com/vuejs/rfcs/blob/master/active-rfcs/0028-router-active-link.md router-link-exact-active
示例:https://codesandbox.io/s/vue-router-forked-ocxxbl?file=/src/components/Navigation.vue
感谢Paul Tsai让我意识到这是Vue 3特有的问题。意识到这有助于缩小我的搜索范围,然后我发现了这个:
Vue 3 router- router-link-active not working
它有一个工作解决方案链接,因为router-link-active
不再从URL计算,而是从路由器本身定义的层次结构中计算。