vue的keep-alive组件缓存 具体代码
时间: 2023-11-17 22:08:48 浏览: 82
Vue 的 `keep-alive` 组件可以用来缓存组件,避免多次渲染相同组件导致的性能问题。下面是一个简单的示例:
```html
<template>
<div>
<button @click="toggle">Toggle Component</button>
<keep-alive>
<component v-bind:is="currentComponent"></component>
</keep-alive>
</div>
</template>
<script>
export default {
data() {
return {
currentComponent: 'ComponentA',
show: true
};
},
methods: {
toggle() {
this.show = !this.show;
if (this.show) {
this.currentComponent = 'ComponentA';
} else {
this.currentComponent = 'ComponentB';
}
}
},
components: {
ComponentA: {
template: '<div>Component A</div>'
},
ComponentB: {
template: '<div>Component B</div>'
}
}
}
</script>
```
在这个例子中,我们定义了两个组件 `ComponentA` 和 `ComponentB`。通过点击按钮,我们可以在这两个组件之间切换。使用 `keep-alive` 组件包裹 `<component>` 标签,可以让 Vue 缓存这两个组件的实例,避免多次创建和销毁。同时,我们在 `toggle` 方法中动态切换 `currentComponent` 的值,来实现组件的切换。
阅读全文