如果你需要在组件切换的时候,保存一些组件的状态防止多次渲染,就可以使用keep-alive组件包裹需要保存的组件。
对于keep-alive组件来说,它拥有两个独有的生命周期钩子函数,分别为 activated和deactivated 。用keep-alive包裹的组件在切换时不会进行销毁,而是缓存到内存中并执行(deactivated钩子函数,命中缓存渲染后会执行actived钩子函数。
代码展示:
App.vue代码:
<template>
<div id="app">
<h1>APP组件</h1>
<button @click="exchangeCom">点击</button>
<keep-alive>
<component :is="cName"></component>
</keep-alive>
</div>
</template>
<script>
import D from './components/D.vue'
import E from './components/E.vue'
export default {
name: 'App'