iview导航栏点击后页面跳转怎么让导航栏不消失?
时间: 2023-08-18 14:04:08 浏览: 52
可以通过以下两种方式来解决iview导航栏点击后页面跳转导致导航栏消失的问题:
1. 在iview导航栏组件中设置 keep-alive 属性,这样就可以让导航栏在页面跳转时保持不变,代码示例:
```
<template>
<div>
<Menu :open-names="openNames" :theme="theme" :active-name="activeName" mode="horizontal" @on-select="handleSelect" :keep-alive>
<!-- 导航栏菜单项 -->
</Menu>
<router-view></router-view>
</div>
</template>
```
2. 使用 vue-router 的 meta 属性,在路由配置中设置 meta: { keepAlive: true },并在导航栏组件中通过 $route.meta.keepAlive 判断是否需要缓存当前页面,代码示例:
```
// 路由配置
const routes = [
{
path: '/',
name: 'Home',
component: Home,
meta: { keepAlive: true }
},
{
path: '/about',
name: 'About',
component: About
}
]
// 导航栏组件
<template>
<div>
<Menu :open-names="openNames" :theme="theme" :active-name="activeName" mode="horizontal" @on-select="handleSelect">
<!-- 导航栏菜单项 -->
</Menu>
<router-view v-if="$route.meta.keepAlive || $route.name === 'Home'"></router-view>
</div>
</template>
```