찾다
웹 프론트엔드View.js4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

이 글에서는 매우 멋진 Veu 라우팅 전환 효과 4가지를 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

Vue 라우터 전환은 Vue 애플리케이션에 개성을 추가하는 빠르고 쉬운 방법입니다. 이를 통해 애플리케이션의 여러 페이지 간에 부드러운 애니메이션/전환 효과를 추가할 수 있습니다.

올바르게 사용하면 애플리케이션을 더욱 현대적이고 전문적으로 만들어 사용자 경험을 향상시킬 수 있습니다.

오늘 기사에서는 Vue Router를 사용한 전환의 기본 사항을 소개한 다음 몇 가지 기본 예를 소개하여 여러분에게 영감을 드리고자 합니다.

다음은 우리가 만들 4개의 전환 페이지입니다.

4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

프로젝트에 Vue 경로 전환 추가

일반적으로 Vue 라우터 설정은 다음과 같습니다

// default template
<template>
  <router-view />
</template>

이전 버전의 Vue Router에서는 간단히 <transition> code>구성요소 래퍼 <code><router-view></router-view>. <transition></transition>组件包装<router-view></router-view>

然而,在Vue Router的新版本中,我们必须使用v-slot来解构我们的 props ,并将它们传递到我们的内部插槽。这个slow包含一个被transition包围的动态组件。

<router-view v-slot="{ Component }">
  <transition>
    <component :is="Component" />
  </transition>
</router-view>

每个 Route 都有不同的过渡

默认情况下,用<transition></transition>包装<component></component>将在我们使用的每条路由上添加相同的过渡。

有两种不同的方法可以为每个路由定制转场。

将过 transition 移到各个组件部分

首先,我们可以将<transition></transition>移到每个单独的组件中,而不是用<transition></transition>组件来包装我们的动态组件。 如下:

// app.vue
<template>
  <transition>
    <div class="wrapper">
      <!-- -->
    </div>
  </transition>
</template>

对于我们想要每个路由都有一个过渡效果,通过这种方式,我们可以通过过渡的名称来定制每个路由。

使用 v-bind 的动态过渡

另一种方法是将过渡的名称绑定到一个变量。然后,我们可以根据监听路由动态地改变这个变量。

<transition :name="transitionName">
  <component :is="Component" />
</transition>
watch: {
  &#39;$route&#39; (to, from) {
    const toDepth = to.path.split(&#39;/&#39;).length
    const fromDepth = from.path.split(&#39;/&#39;).length
    this.transitionName = toDepth < fromDepth ? &#39;slide-right&#39; : &#39;slide-left&#39;
  }
}

现在,我们了解了Vue Router Transition 的基础知识,下面我们来看一些 Nice 的示例。

1 – Fade Vue Router Transitions

添渐隐页面过渡可能是我们可以添加到Vue应用程序中最常用的动效之一。

我们可以通过更改元素的opacity 来实现此效果。

首先,我们创建一个带有fade名称的 Vue Router transition。 还要注意的另一件事是,我们将过渡模式设置为 out-in

有三种不同的过渡模式:

  • default – 进入和离开过渡同时发生
  • in-out – 新元素的过渡先进入。然后,当前元素过渡出去。
  • out-in - 当前元素先过渡出去。然后,新元素过渡进来。

为了让新元素平滑地淡入,我们需要在开始新的过渡之前删除当前元素。所以我们使用 mode="out-in"

<transition></transition>为我们提供了几个CSS类,它们在动画周期中被动态添加/删除。

有6个不同的过渡类(3个用于进入,3个用于离开)。

  • v-enter-from:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

  • v-leave-from:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

  • v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

  • v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

  • v-enter-to:定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter-from 被移除),在过渡/动画完成之后移除。

  • v-leave-to:离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave-from

    그러나 새 버전의 Vue Router에서는 v-slot을 사용하여 props를 분해하고 이를 내부 슬롯에 전달해야 합니다. 이 느린에는 전환으로 둘러싸인 동적 구성요소가 포함되어 있습니다. 🎜
    // fade styles!
    .fade-enter-active,
    .fade-leave-active {
      transition: opacity 0.5s ease;
    }
    
    
    .fade-enter-from,
    .fade-leave-to {
      opacity: 0;
    }

    각 경로에는 서로 다른 전환이 있습니다. 🎜🎜기본적으로 <transition></transition> code>로 래핑하면 우리가 사용하는 모든 경로에 동일한 전환을 추가하세요. 🎜🎜각 경로에 대한 전환을 사용자 정의하는 두 가지 방법이 있습니다. 🎜🎜🎜각 컴포넌트 파트로 전환 이동🎜🎜🎜우선 컴포넌트를 사용하는 대신 <transition></transition>을 각 개별 컴포넌트로 이동할 수 있습니다. 동적 구성요소를 래핑합니다. 다음과 같습니다: 🎜
    // slide transition
    <router-view v-slot="{ Component }">
      <transition name="slide">
        <component :is="Component" />
      </transition>
    </router-view>
    🎜전환 효과를 적용하려는 각 경로에 대해 이 방법으로 전환 이름으로 각 경로를 사용자 정의할 수 있습니다. 🎜🎜🎜v-bind를 사용한 동적 전환 🎜🎜🎜또 다른 접근 방식은 전환 이름을 변수에 바인딩하는 것입니다. 그런 다음 청취 경로에 따라 이 변수를 동적으로 변경할 수 있습니다. 🎜
    // component wrapper
    .wrapper {
      width: 100%;
      min-height: 100vh;
    }
    // slide styles!
    .slide-enter-active,
    .slide-leave-active {
      transition: all 0.75s ease-out;
    }
    
    
    .slide-enter-to {
      position: absolute;
      right: 0;
    }
    
    
    .slide-enter-from {
      position: absolute;
      right: -100%;
    }
    
    
    .slide-leave-to {
      position: absolute;
      left: -100%;
    }
    
    
    .slide-leave-from {
      position: absolute;
      left: 0;
    }
    🎜이제 Vue 라우터 전환의 기본 사항을 이해했으므로 몇 가지 좋은 예를 살펴보겠습니다. 🎜

    🎜1 – 페이드 Vue 라우터 전환🎜🎜🎜페이드 페이지 전환은 아마도 Vue 애플리케이션에 추가할 수 있는 가장 일반적으로 사용되는 애니메이션 중 하나일 것입니다. 🎜🎜요소의 불투명도를 변경하여 이 효과를 얻을 수 있습니다. 🎜🎜먼저 fade 이름으로 Vue Router 전환을 만듭니다. 주목해야 할 또 다른 점은 전환 모드를 out-in으로 설정했다는 것입니다. 🎜🎜세 가지 전환 모드가 있습니다: 🎜
    • 기본값 – 진입 및 퇴장 전환이 동시에 발생합니다.
    • in-out – 신규 원소 전환이 먼저 들어갑니다. 그런 다음 현재 요소가 전환됩니다.
    • out-in - 현재 요소가 먼저 전환됩니다. 그런 다음 새로운 요소가 전환됩니다.
    🎜새 요소가 원활하게 페이드 인되도록 하려면 새 전환을 시작하기 전에 현재 요소를 삭제해야 합니다. 그래서 mode="out-in"을 사용합니다. 🎜🎜<transition></transition>은 애니메이션 주기 동안 동적으로 추가/제거되는 여러 CSS 클래스를 제공합니다. 🎜🎜6개의 전환 수업이 있습니다(3개 입학, 3개 퇴사). 🎜
    • 🎜v-enter-from: 항목 전환의 시작 상태를 정의합니다. 요소가 삽입되기 전에 적용되며 요소가 삽입된 후 다음 프레임에서 제거됩니다. 🎜
    • 🎜v-leave-from: 떠나기 전환의 시작 상태를 정의합니다. 이탈 전환이 트리거되면 즉시 적용되며 다음 프레임에서 제거됩니다. 🎜
    • 🎜v-enter-active: 항목 전환이 적용될 때의 상태를 정의합니다. 전환 전체에 적용되고 요소가 삽입되기 전에 적용되며 전환/애니메이션이 완료된 후에 제거됩니다. 이 클래스는 전환 입력을 위한 처리 시간, 지연 및 곡선 기능을 정의하는 데 사용할 수 있습니다. 🎜
    • 🎜v-leave-active: 나가기 전환이 적용될 때의 상태를 정의합니다. 종료 전환 전체에 적용되고, 종료 전환이 트리거될 때 즉시 적용되며, 전환/애니메이션이 완료된 후 제거됩니다. 이 클래스는 출구 전환에 대한 처리 시간, 지연 및 곡선 기능을 정의하는 데 사용할 수 있습니다. 🎜
    • 🎜v-enter-to: 항목 전환의 최종 상태를 정의합니다. 요소가 삽입된 후(동시에 v-enter-from가 제거됨) 다음 프레임에 적용되며 전환/애니메이션이 완료된 후 제거됩니다. 🎜
    • 🎜v-leave-to: 전환 종료의 최종 상태입니다. 이탈 전환이 트리거된 후(동시에 v-leave-from가 제거됨) 다음 프레임에 적용되며 전환/애니메이션이 완료된 후에 제거됩니다. 🎜

    注意:当我们为过渡提供一个name属性时,这是默认名称。类的格式是name-enter-fromname-enter-active,等等。

    我们希望进入和离开状态的opacity 为0。然后,当我们的过渡处生效状态时,对 opacity 进行动画的处理。

    // fade styles!
    .fade-enter-active,
    .fade-leave-active {
      transition: opacity 0.5s ease;
    }
    
    
    .fade-enter-from,
    .fade-leave-to {
      opacity: 0;
    }

    最后的效果 :

    4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

    2 – Slide Vue Router Transitions

    我们要构建的下一个过渡是幻灯片过渡。

    模板如下所示。 由于我们希望进入和离开过渡同时发生,因此使用默认模式即可。

    // slide transition
    <router-view v-slot="{ Component }">
      <transition name="slide">
        <component :is="Component" />
      </transition>
    </router-view>

    为了让例子更好看,我们给每个页面加上下面的样式:

    // component wrapper
    .wrapper {
      width: 100%;
      min-height: 100vh;
    }

    最后,在过渡样式里为要滑动的组件设置相关的属性。如果需要不同的滑动方向,只需更改CSS属性(top, bottom, left, right)。

    // slide styles!
    .slide-enter-active,
    .slide-leave-active {
      transition: all 0.75s ease-out;
    }
    
    
    .slide-enter-to {
      position: absolute;
      right: 0;
    }
    
    
    .slide-enter-from {
      position: absolute;
      right: -100%;
    }
    
    
    .slide-leave-to {
      position: absolute;
      left: -100%;
    }
    
    
    .slide-leave-from {
      position: absolute;
      left: 0;
    }

    最终的效果:

    4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

    3 – Scale Vue Router Transitions

    创建缩放过渡与我们的淡入过渡非常相似。 我们再次将模式设置为 out-in,以便我们可以确保动画的正确顺序。

    // scale transition!
    
    <router-view v-slot="{ Component }">
      <transition name="scale" mode="out-in">
        <component :is="Component" />
      </transition>
    </router-view>
    .scale-enter-active,
    .scale-leave-active {
      transition: all 0.5s ease;
    }
    
    
    .scale-enter-from,
    .scale-leave-to {
      opacity: 0;
      transform: scale(0.9);
    }

    这里给整个网页提供黑色的背景色会让过渡看上去更干净。

    4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

    4 – Combining Vue Router Transitions

    创建过渡的方式有很多很多但是,我认为不要过度过的,刻意的去做过渡。 过渡动效应该是很小的,微妙的增强功能,而不是会让应用产生干扰因素。

    我认为实现较好过渡是将一些更基础的过渡结合在一起。

    例如,让我们将幻灯片放大和缩小合并为一个过渡。

    <router-view v-slot="{ Component }">
      <transition name="scale-slide">
        <component :is="Component" />
      </transition>
    </router-view>
    .scale-slide-enter-active,
    .scale-slide-leave-active {
      position: absolute;
      transition: all 0.85s ease;
    }
    
    
    .scale-slide-enter-from {
      left: -100%;
    }
    
    
    .scale-slide-enter-to {
      left: 0%;
    }
    
    
    .scale-slide-leave-from {
      transform: scale(1);
    }
    
    
    .scale-slide-leave-to {
      transform: scale(0.8);
    }

    4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!

    原文地址:https://learnue.co/2021/01/4-awesome-of-vue-router-transitions/

    作者:Ahmad shaded

    译文地址:https://segmentfault.com/a/1190000039802609

    更多编程相关知识,请访问:编程视频!!

위 내용은 4개의 매우 멋진 Vue Router 전환 효과를 가지고 오셔서 수집해 보세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
프론트 엔드의 vue.js : 실제 응용 프로그램 및 예제프론트 엔드의 vue.js : 실제 응용 프로그램 및 예제Apr 11, 2025 am 12:12 AM

vue.js는 복잡한 사용자 인터페이스를 구축하는 데 적합한 점진적인 JavaScript 프레임 워크입니다. 1) 핵심 개념에는 반응 형 데이터, 구성 요소화 및 가상 DOM이 포함됩니다. 2) 실제 응용 분야에서는 TODO 응용 프로그램을 구축하고 Vuerouter를 통합하여 시연 할 수 있습니다. 3) 디버깅 할 때 VuedeVtools 및 Console.log를 사용하는 것이 좋습니다. 4) 성능 최적화는 V-IF/V- 쇼, 목록 렌더링 최적화, 구성 요소의 비동기로드 등을 통해 달성 할 수 있습니다.

vue.js and React : 주요 차이점 이해vue.js and React : 주요 차이점 이해Apr 10, 2025 am 09:26 AM

vue.js는 중소형 프로젝트에 적합하지만 REACT는 크고 복잡한 응용 프로그램에 더 적합합니다. 1. Vue.js의 응답 형 시스템은 종속성 추적을 통해 DOM을 자동으로 업데이트하여 데이터 변경을 쉽게 관리 할 수 ​​있습니다. 2. 반응은 단방향 데이터 흐름을 채택하고 데이터 흐름에서 하위 구성 요소로 데이터가 흐르고 명확한 데이터 흐름과 곤란하기 쉬운 구조를 제공합니다.

vue.js vs. React : 프로젝트 별 고려 사항vue.js vs. React : 프로젝트 별 고려 사항Apr 09, 2025 am 12:01 AM

vue.js는 중소형 프로젝트 및 빠른 반복에 적합한 반면 React는 크고 복잡한 응용 프로그램에 적합합니다. 1) vue.js는 사용하기 쉽고 팀이 불충분하거나 프로젝트 규모가 작는 상황에 적합합니다. 2) React는 더 풍부한 생태계를 가지고 있으며 고성능 및 복잡한 기능적 요구가있는 프로젝트에 적합합니다.

태그를 vue로 점프하는 방법태그를 vue로 점프하는 방법Apr 08, 2025 am 09:24 AM

VUE에서 태그의 점프를 구현하는 방법에는 다음이 포함됩니다. HTML 템플릿의 A 태그를 사용하여 HREF 속성을 지정합니다. VUE 라우팅의 라우터 링크 구성 요소를 사용하십시오. javaScript 에서이. $ router.push () 메소드를 사용하십시오. 매개 변수는 쿼리 매개 변수를 통해 전달 될 수 있으며 동적 점프를 위해 라우터 옵션에서 경로가 구성됩니다.

VUE의 구성 요소 점프를 구현하는 방법VUE의 구성 요소 점프를 구현하는 방법Apr 08, 2025 am 09:21 AM

VUE에서 구성 요소 점프를 구현하는 방법은 다음과 같습니다. 라우터 링크 및 & lt; router-view & gt; 하이퍼 링크 점프를 수행하고 대상 경로로 속성을 지정합니다. & lt; router-view & gt; 현재 라우팅 된 렌더링 된 구성 요소를 표시하는 구성 요소. 프로그래밍 방식 탐색을 위해 router.push () 및 router.replace () 메소드를 사용하십시오. 전자는 역사를 구하고 후자는 기록을 떠나지 않고 현재 경로를 대체합니다.

Vue의 div로 점프하는 방법Vue의 div로 점프하는 방법Apr 08, 2025 am 09:18 AM

VUE에서 DIV 요소를 점프하는 두 가지 방법이 있습니다. VUE 라우터를 사용하고 라우터 링크 구성 요소를 추가하십시오. @Click 이벤트 리스너를 추가하고 이것을 호출하십시오. $ router.push () 메소드를 점프하십시오.

vue 점프로 값을 전송하는 방법vue 점프로 값을 전송하는 방법Apr 08, 2025 am 09:15 AM

VUE에서 데이터를 전달하는 두 가지 주요 방법이 있습니다 : Props : 일원 데이터 바인딩, 부모 구성 요소에서 자식 구성 요소로 데이터를 전달합니다. 이벤트 : 이벤트와 사용자 정의 이벤트를 사용하여 구성 요소간에 데이터를 전달합니다.

Vue의 소개 방법으로 점프하는 방법Vue의 소개 방법으로 점프하는 방법Apr 08, 2025 am 09:12 AM

vue.js는 점프하는 세 가지 방법을 제공합니다. 기본 JavaScript API : Window.location.href를 사용하여 점프하십시오. Vue 라우터 : & lt; router-link & gt를 사용하십시오. 태그 또는이. $ router.push () 메소드 점프. Vuex : 파견 경로 점프는 파견 동작을 통과하거나 돌연변이를 커밋합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구