有时候我们需要对一些页面进行缓存,以便返回的时候不会因为少传一些值而引起内容错乱。
vue.js中对页面进行缓存的方法有很多,这里详细介绍的是用router进行缓存。
增加 router.meta 属性
// routes 配置
export default [
{path: '/', name: 'home', component: Home,
meta: {
keepAlive: true // 需要被缓存
}
},
{path: '/:id', name: 'edit', component: Edit,
meta: {
keepAlive: false // 不需要被缓存
}
}
]
修改router-view
<keep-alive>
<router-view v-if="$route.meta.keepAlive">
<!-- 这里是会被缓存的视图组件 -->
</router-view>
</keep-alive>
<router-view v-if="$route.meta.keepAlive">
<!-- 这里是不被缓存的视图组件 -->
</router-view>