keep-alive属性及生命周期

本文详细介绍了Vue中keep-alive组件的功能和使用方法,包括如何通过路由元信息实现特定组件的缓存控制,以及activated和deactivated钩子函数的作用。

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

1.activated:页面第一次进入的时候,钩子触发的顺序是created->mounted->activated
2.deactivated :页面退出的时候会触发deactivated,当再次前进或者后退的时候只触发activated

keep-alive简介:
keep-alive是vue内置的一个组件,可以被包含的组件保留状态,或避免重新渲染。

	<keep-alive>
	  <component>
	    <!-- 该组件将被缓存! -->
	  </component>
	</keep-alive>

如果只想router-view里面某个组件被缓存的话,可以给他增加router.meta属性

// routes 配置
	export default [
	  {
	    path: '/',
	    name: 'home',
	    component: Home,
	    meta: {
	      keepAlive: true // 需要被缓存
	    }
	  }, {
	    path: '/:id',
	    name: 'edit',
	    component: Edit,
	    meta: {
	      keepAlive: false // 不需要被缓存
	    }
	  }
	]
	<keep-alive>
	    <router-view v-if="$route.meta.keepAlive">
	        <!-- 这里是会被缓存的视图组件,比如 Home! -->
	    </router-view>
	</keep-alive>
	
	<router-view v-if="!$route.meta.keepAlive">
	    <!-- 这里是不被缓存的视图组件,比如 Edit! -->
	</router-view>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值