Vue Router的<keep-alive>

在Vue.js中,当路由切换时默认会销毁未展示的组件。为了防止组件销毁并实现缓存,可以使用<keep-alive>标签包裹<router-view>。通过include属性可以指定缓存特定组件,如Page1,不设置include则默认缓存所有组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

路由切换的时候,未展示的组件默认是被销毁了的,但有些时候不想让其销毁,可用<keep-alive>标签将<router-view>包裹起来

  1. 缓存组件案例
    <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>
    
  2. 注意事项
    ① 不设置include属性,默认缓存所有在此处渲染的组件
    ② 设置include属性,可缓存指定的组件,值为组件名
    ③ 缓存一个组件直接传入组件名即可
    ④ 缓存多个组件需要利用v-bind方式传入数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值