Home > Web Front-end > Vue.js > body text

Use the keep-alive component to achieve smooth transition when switching Vue pages

WBOY
Release: 2023-07-22 21:17:27
Original
1302 people have browsed it

Use the keep-alive component to achieve smooth transition when switching Vue pages

In Vue, the transition effect when switching pages is a very common and important requirement. Vue provides many built-in transition effect components, one of which is the keep-alive component. keep-alive can retain the state of the component when switching components to avoid re-rendering, thereby achieving a smooth transition effect.

The function of the keep-alive component is to keep the component it wraps in memory and cache the instance of the component. When a component is switched, the instance of the component is not destroyed, but is cached so that it can be used again next time. In this way, a smooth transition effect can be achieved when components are switched.

The following is a sample code that demonstrates how to use the keep-alive component to achieve a smooth transition effect when switching pages.

<template>
  <div>
    <button @click="toggleComponent">Toggle Component</button>
    <transition name="fade" mode="out-in">
      <keep-alive>
        <component :is="currentComponent"></component>
      </keep-alive>
    </transition>
  </div>
</template>

<script>
export default {
  data() {
    return {
      currentComponent: 'ComponentA',
    };
  },
  methods: {
    toggleComponent() {
      this.currentComponent = this.currentComponent === 'ComponentA' ? 'ComponentB' : 'ComponentA';
    },
  },
};
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
}
</style>
Copy after login

In the above code, there are two components: ComponentA and ComponentB. Switch the currently displayed component through the click event of the button. In the transition tag, set the name of the transition effect to fade, and specify the mode attribute to out-in.

In the keep-alive tag, the component dynamic component is used to dynamically switch the currently displayed component through the :is attribute. In this way, when components are switched, the new components will be cached and displayed with a smooth transition effect. At the same time, during the switching process of components, the animation of the fade transition effect will also be triggered.

In the style tag of the above code, the style of the transition effect is defined. By setting the transition attribute and opacity attribute, the fade-in and fade-out effect during component switching is achieved.

Through the above code, we can achieve a smooth transition effect when switching components in the Vue page. Using the keep-alive component can easily retain the state of the component and achieve a smooth transition effect during component switching, improving user experience.

To summarize, using the keep-alive component can achieve a smooth transition effect when switching Vue pages. By caching components and maintaining their state, you can avoid unnecessary re-renders and animate transition effects. The above sample code can help developers get started quickly and flexibly use the keep-alive component to improve the user experience of page switching.

The above is the detailed content of Use the keep-alive component to achieve smooth transition when switching Vue pages. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!