使用Vuetify v-list-item指令(外部)和v-list-group中的其他v-list-item来路由网站的页面,我遇到了以下问题:
路由运行良好,但每次单击其中一个子菜单时,索引项仍处于活动状态。

选择索引时

选择另一项时
我想知道,当我在v列表组中选择一个v列表项时,我是否可以做些什么来禁用索引菜单v列表项的活动类?
这是我的代码:
DOM:
<v-navigation-drawer v-model="drawer" app dark>
<v-list>
<div
v-for="item in pages"
:key="item.title"
>
<!-- Index -->
<v-list-item
v-if="!item.items"
link
:to="item.href"
v-on="on"
>
<v-list-item-icon>
<v-icon color="info">
{{item.icon}}
</v-icon>
</v-list-item-icon>
<v-list-item-title class="info--text" v-text="item.title">
</v-list-item-title>
</v-list-item>
<!-- group menues -->
<v-list-group
v-if="item.items"
item-color="primary"
no-action
>
<template v-slot:activator>
<v-icon color="info" style="padding-right:32px">
{{item.icon}}
</v-icon>
<v-list-item-content>
<v-list-item-title class="info--text" v-text="item.title"></v-list-item-title>
</v-list-item-content>
</template>
<v-list-item
item-color="primary"
v-for="child in item.items"
:key="child.title"
link
:to="child.href"
style="padding-left:40px"
>
<v-list-item-icon>
<v-icon color="info">mdi-circle-medium</v-icon>
</v-list-item-icon>
<v-list-item-content v-on="on">
<v-list-item-title class="info--text" v-text="child.title"></v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-group>
</div>
</v-list>
</v-navigation-drawer>剧本:
data: () => ({
drawer: true,
pages: [
{
icon: 'mdi-home',
title: 'Index',
href: '/main'
},
{
icon: 'mdi-bell',
items: [
{
title: 'submenu1',
href: '/main/menu1/submenu1'
},
{
title: 'submenu2',
href: '/main/menu1/submenu2'
}
],
title: 'menu1'
},
{
icon: 'mdi-cog-outline',
items: [
{
title: 'submenu3',
href: '/main/menu2/submenu3'
}
],
title: 'menu2'
},
{
icon: 'mdi-text-box-outline',
items: [
{
title: 'submenu4',
href: '/main/menu3/submenu4'
}
],
title: 'menu3'
}
] })谢谢!
发布于 2022-03-04 15:36:27
我发现问题出在哪里了。我误解了使用Vue路由的概念。
索引项路由到/main (/main/ index ),其他页面在其路由中包含“main”,如: /main/submenu1 1。Vue将/ main /submenu1 1理解为在main上,因此/main也是“活动的”,因为它在路由中包含相同的名称。
我通过将/main路由更改为/main/home来修复这个问题。通过强迫路径与其他路径不同。我尝试使用/main/index,因为Vue一直在指向索引,但是它没有工作。我只需要更改页面名和路径。
https://stackoverflow.com/questions/71343928
复制相似问题