Vue缓存路由组件
作用: 让不展示的路由保持挂载,不被销毁 具体编码:
vue
<template>
<div>
<h2>我是Home的内容</h2>
<router-link to="/home/news">News</router-link>
<router-link to="/home/message">Message</router-link>
<hr/>
<!-- include属性配置的是需要缓存的组件名 -->
<keep-alive include="News">
<router-view></router-view>
</keep-alive>
</div>
</template>
理解:
比如用户输入一堆东西,点击路由切换出去回来后就会丢失数据,比如输入框已经填写好的文本,原因在于默认路由组件在路由切换的时候会被销毁,切换回来重新渲染数据自然丢失。 使用keep-alive后,组件不会被销毁
如果不指定include属性,会缓存里面所有的<router-view>
路由组件。如果需要缓存指定的多个可以这样:
js
<keep-alive :include="['News', 'Message']">
<router-view></router-view>
</keep-alive>