<template>
  <div>
    <button @click="toggleComponent">Toggle Component</button>
    <keep-alive>
      <component :is="currentComponent"></component>
    </keep-alive>
  </div>
</template>
<script>
import ComponentA from './ComponentA'
import ComponentB from './ComponentB'

export default {
  data() {
    return {
      currentComponent: 'ComponentA'
    }
  },
  components: {
    ComponentA,
    ComponentB
  },
  methods: {
    toggleComponent() {
      this.currentComponent = this.currentComponent === 'ComponentA' ? 'ComponentB' : 'ComponentA'
    }
  }
}
</script>
<p>在上面的例子中,有两个组件<code>ComponentA</code>和<code>ComponentB</code>,当点击按钮时,<code>currentComponent</code>的值会在<code>ComponentA</code>和<code>ComponentB</code>之间切换。使用<code>&lt;keep-alive&gt;</code>将动态组件包裹起来,可以保留组件的状态,避免每次切换组件时都重新渲染。</p>

原文地址: https://www.cveoy.top/t/topic/qiOp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录