Здравствуйте, я выделяю кнопку, которую когда-либо нажимали на боковой панели.
Здесь я хочу выделить кнопку, даже если отображается содержимое просмотра маршрутизатора. Но в настоящее время отображается изображение ниже, если я нахожусь в просмотре содержимого маршрутизатора.
У меня есть компонент Blog.vue, а кнопка Blog находится на боковой панели. Этот Blog.vue содержит несколько карточек, и на каждой карточке есть значок, поэтому при нажатии на любой значок отображается, что соответствующий контент здесь изменяется.
Первоначально при загрузке страницы или при нажатии кнопки «Блог» на боковой панели она выделяется. Но как только пользователь щелкает значок на любой карточке, кнопка «Блог» не выделяется, как показано на втором изображении.
Вот VerticalNavMenu.vue
<vs-sidebar
class="v-nav-menu items-no-padding"
v-model="isVerticalNavMenuActive"
ref="verticalNavMenu"
default-index="-1"
:click-not-close="clickNotClose"
:reduce-not-rebound="reduceNotRebound"
:parent="parent"
:hiddenBackground="clickNotClose"
:reduce="reduce"
v-hammer:swipe="onMenuSwipe">
<div @mouseenter="mouseEnter" @mouseleave="mouseLeave">
<div @mouseenter="mouseEnter" @mouseleave="mouseLeave">
<div class="shadow-bottom" v-show="showShadowBottom" />
<!-- Menu Items -->
<component :is="scrollbarTag" ref="verticalNavMenuPs" class="scroll-area-v-nav-menu pt-2"
:settings="settings" @ps-scroll-y="psSectionScroll" @scroll="psSectionScroll" :key="$vs.rtl">
<template v-for="(item, index) in menuItemsUpdated">
<!-- Group Header -->
<span v-if="item.header && !verticalNavMenuItemsMin" class="navigation-header truncate"
:key="`header-${index}`">
{{ $t(item.i18n) || item.header }}
</span>
<!-- /Group Header -->
<template v-else-if="!item.header">
<!-- Nav-Item -->
<v-nav-menu-item
...
</v-nav-menu-item>
<!-- Nav-Group -->
<template v-else>
<v-nav-menu-group
...
/>
</template>
<!-- /Nav-Group -->
</template>
</template>
</component>
<!-- /Menu Items -->
</div>
..
showShadowBottom: false
..
psSectionScroll () {
const scroll_el = this.$refs.verticalNavMenuPs.$el || this.$refs.verticalNavMenuPs
this.showShadowBottom = scroll_el.scrollTop > 0
},
Вот файл navMenuItem.js:
{
header: 'Apps',
icon: 'PackageIcon',
i18n: 'Apps',
items: [
{
url: '/apps/blog-complete',
name: 'Blog',
slug: 'blog-complete',
icon: 'CpuIcon',
i18n: 'Blog'
},
{
url: '/apps/info-tech',
name: 'Info Tech',
slug: 'info-tech',
icon: 'Icon'
i18n: 'Info Tech'
},
...
]
Вот router.js
{
path: '/apps/blog-complete',
name: 'app-blog-complete',
component: () => import('@/views/apps/Blog.vue'),
},
{
path: '/apps/inner-blog/:apiVal_id', // Here for these router view contents i want to show the button highlighted.
name: 'Inner',
component: () => import('./views/apps/InnerBlog.vue'),
},
Вот Blog.vue:
...
<div class="right">
<b-badge @click="$router.push({name: 'Inner', params: {id: apiVal.id.toString() }})
.catch(err => {})">Check Deep</b-badge>
</div>
...
Вот InnerBlog.vue:
...
<div class="right">
Welcome to my route :)
</div>
...
Пожалуйста, помогите мне выделить кнопку «Блог» на боковой панели, даже если она отображает содержимое для просмотра на маршрутизаторе.