提问人:Johnny John Boy 提问时间:8/7/2019 最后编辑:mare96Johnny John Boy 更新时间:5/22/2020 访问量:2441
VueJS Router - 使用 sub routes 和 Vuetify 时如何停止多个活动路由?
VueJS Router - How do I stop multiple active routes when using sub routes and Vuetify?
问:
我正在努力阻止默认的 '' Home.vue 路由在 Vuetify 中不处于活动状态,即当我单击上传或设置时,默认的 Home.vue 仍然处于活动状态。请看这里:
我认为这与它是 /webapp 的子路由有关,但我正在用头撞墙。.
这是我路线中的重要一点:
{
path: '/webapp',
name: 'webapp',
component: () => import('./views/Webapp.vue'),
children: [
{
path: '',
component: () => import('./components/Home.vue'),
},
{
path: 'uploads',
component: () => import('./components/Uploads.vue'),
},
{
path: 'settings',
component: () => import('./components/Settings.vue'),
}
]
}
这是我的 Vuetify 抽屉:
<v-navigation-drawer
v-model="drawer"
app
>
<v-list dense>
<v-list-item
v-for="item in items"
:key="item.title"
:to="item.route"
>
<v-list-item-icon>
<v-icon>{{ item.icon }}</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>{{ item.title }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
</v-navigation-drawer>
答:
27赞
Nelio
8/7/2019
#1
您必须向组件添加(或)prop:exact
exact={true}
<v-list-item>
<v-list-item
v-for="item in items"
:key="item.title"
:to="item.route"
exact
></v-list-item>
在文档上:v-list-item
exact
与链接完全匹配。如果没有这个,“/”将匹配每条路线。你可以在 vue-router 文档中找到更多关于确切 prop 的信息。
您可以查看:
https://vuetifyjs.com/en/components/list-item-groups#list-item-groups
评论
0赞
Johnny John Boy
8/7/2019
非常感谢Nelio:-)
0赞
Jadson Firmo
5/22/2020
#2
Nélio 的答案非常有效,它也适用于 v-list-tile,例如:
<v-list dense>
<div v-for="(kid, k) in parent.children" :key="k">
<v-list-tile :to="{path: kid.path}" exact>
<v-list-tile-title>{{kid.name}}</v-list-tile-title>
</v-list-tile>
</div>
</v-list>
评论