<template>
<div>
<button @click="currentComponent = 'Home'">Go to Home</button>
<button @click="currentComponent = 'About'">Go to About</button>
<keep-alive>
<component :is="currentComponent"></component>
</keep-alive>
</div>
</template>
<script>
import { ref } from 'vue';
import Home from './components/Home.vue';
import About from './components/About.vue';
export default {
components: {
Home,
About
},
setup() {
const currentComponent = ref('Home');
return {
currentComponent
};
}
};
</script>
<keep-alive> 标签:
<keep-alive> 是 Vue 3 中的一个内置组件,用于缓存动态组件,避免重复渲染。当组件在 <keep-alive> 内部被切换时,它的状态会被保存,不会被销毁和重新创建。动态组件:
<component :is="currentComponent"> 来动态切换组件。currentComponent 是一个响应式变量,根据按钮点击事件来改变其值,从而切换显示的组件。按钮控制:
currentComponent 的不同值 (Home 和 About),点击按钮会改变 currentComponent 的值,进而切换显示的组件。缓存效果:
<keep-alive> 包裹,组件的状态会被保留,不会重新初始化或重新渲染。上一篇:vue.draggable
下一篇:vue mock
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站