vue点tab不刷新页面_vue 路由跳转刷新页面tab不变
时间: 2023-09-29 11:07:32 浏览: 243
可以尝试使用 `keep-alive` 组件来缓存页面,从而达到切换标签页时不刷新页面的效果。
首先,在 `router-view` 外部包裹一个 `keep-alive` 组件:
```html
<template>
<div>
<keep-alive>
<router-view></router-view>
</keep-alive>
</div>
</template>
```
然后,在路由配置中,给需要缓存的路由添加 `meta` 属性:
```javascript
const router = new VueRouter({
routes: [
{
path: '/',
component: Home,
meta: {
keepAlive: true
}
},
{
path: '/about',
component: About
}
]
})
```
最后,在组件中可以通过 `$route.meta.keepAlive` 判断当前路由是否需要缓存:
```javascript
export default {
name: 'Home',
computed: {
needKeepAlive() {
return this.$route.meta.keepAlive
}
}
}
```
当切换到需要缓存的路由时,组件会被缓存起来,切换回来时不会重新渲染。但是需要注意的是,如果组件中有一些需要实时更新的数据,需要手动处理。
阅读全文