Home >Web Front-end >Vue.js >How to use vue's keep-alive to switch between the front and back of components

How to use vue's keep-alive to switch between the front and back of components

WBOY
WBOYOriginal
2023-07-25 09:30:201382browse

How to use Vue’s keep-alive to switch between the front and back of components

Introduction:
Vue.js is one of the most popular front-end frameworks at present, and it provides a very convenient way. to build the user interface. Vue's keep-alive component plays a very important role in the component's front and back switching process. This article will introduce how to use Vue's keep-alive component to achieve front and back switching of components, and provide corresponding sample code.

  1. Overview of Vue's keep-alive component
    Vue's keep-alive component is an abstract component provided by Vue, which can be used to cache dynamic components (or asynchronous components). It can retain the state of components and avoid re-creating and destroying component instances when components switch, thereby improving application performance.
  2. Basic usage of keep-alive components
    When using the keep-alive component, you first need to wrap the component to be cached in the keep-alive tag. For example:
<template>
  <div>
    <keep-alive>
      <component :is="currentComponent"></component>
    </keep-alive>
    <button @click="switchComponent">切换组件</button>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        currentComponent: 'ComponentA' // 初始时显示ComponentA组件
      };
    },
    methods: {
      switchComponent() {
        this.currentComponent = this.currentComponent === 'ComponentA' ? 'ComponentB' : 'ComponentA';
      }
    }
  };
</script>

In the above code, we use a button to switch the component to be displayed. During component switching, the keep-alive component caches the old component instead of destroying it, thus avoiding the need to recreate component instances.

  1. Advanced usage of keep-alive component
    In addition to basic usage, the keep-alive component can also provide some hook functions to execute corresponding logic when the component is cached and activated.
  • activated hook: Called when the cached component is activated. You can use this hook function to perform some logical operations that need to be performed when the component is displayed.
<template>
  <div>
    <keep-alive>
      <component :is="currentComponent" v-bind="$attrs" v-on="$listeners"></component>
    </keep-alive>
    <button @click="switchComponent">切换组件</button>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        currentComponent: 'ComponentA'
      };
    },
    methods: {
      switchComponent() {
        this.currentComponent = this.currentComponent === 'ComponentA' ? 'ComponentB' : 'ComponentA';
      }
    },
    activated() {
      console.log('组件被激活了');
    }
  };
</script>
  • deactivated hook: called when the cached component is deactivated. You can use this hook function to perform some logical operations that need to be performed when the component is hidden.
<template>
  <div>
    <keep-alive>
      <component :is="currentComponent" v-bind="$attrs" v-on="$listeners"></component>
    </keep-alive>
    <button @click="switchComponent">切换组件</button>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        currentComponent: 'ComponentA'
      };
    },
    methods: {
      switchComponent() {
        this.currentComponent = this.currentComponent === 'ComponentA' ? 'ComponentB' : 'ComponentA';
      }
    },
    activated() {
      console.log('组件被激活了');
    },
    deactivated() {
      console.log('组件被停用了');
    }
  };
</script>

In the above code, we use activated and deactivated hook functions to output corresponding information when the component is activated and deactivated.

  1. Summary
    In this article we introduced the basic usage and advanced usage of Vue's keep-alive component. By using the keep-alive component, we can retain the state of the component during the component's foreground and background switching and improve application performance. I hope this article will be helpful to you when using Vue's keep-alive component to switch between the front and back of components.

The above is the detailed content of How to use vue's keep-alive to switch between the front and back of components. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn