路由切换的时候,未展示的组件默认是被销毁了的,但有些时候不想让其销毁,可用<keep-alive>
标签将<router-view>
包裹起来
- 缓存组件案例
<template> <div> <router-link to="/page1">跳转到页面1</router-link> <router-link to="/page2">跳转到页面2</router-link> <p>展示区</p> <!-- 利用include属性指定一个缓存的组件,值为组件名 --> <keep-alive include="Page1"> <router-view></router-view> </keep-alive> <!-- 指定多个需要缓存的组件 --> <keep-alive :include="['Page1', 'Page2']"> <router-view></router-view> </keep-alive> </div> </template>
- 注意事项
① 不设置include属性,默认缓存所有在此处渲染的组件
② 设置include属性,可缓存指定的组件,值为组件名
③ 缓存一个组件直接传入组件名即可
④ 缓存多个组件需要利用v-bind方式传入数组