찾다
웹 프론트엔드View.jsVue3의 애니메이션 기능: 멋진 애니메이션 효과 구현

Vue3는 Vue의 최신 버전으로, 애니메이션 측면에서도 대폭 개선 및 업데이트되었습니다. Vue3의 애니메이션 기능은 Composition API와 Transition 컴포넌트를 사용하여 구현되므로 개발자는 다양하고 멋진 애니메이션 효과를 보다 쉽게 ​​얻을 수 있습니다.

1. Composition API

Composition API는 Vue3에 도입된 새로운 기능으로 구성 요소의 가독성, 유지 관리성 및 재사용성을 최적화할 수 있습니다. Composition API에서는 ref 및 반응형을 사용하여 반응형 데이터를 생성하고, watchEffect 및 계산을 사용하여 변수 및 계산된 속성의 변경 사항을 모니터링하고, onMounted 및 onUnmounted를 사용하여 수명 주기 후크 기능 등을 실행할 수 있습니다.

애니메이션 측면에서 Composition API는 useAnimation과 useTransition이라는 두 가지 기능을 제공합니다.

  1. useAnimation

useAnimation 함수를 사용하면 구성 요소 내부에 애니메이션 기능을 생성하여 복잡한 애니메이션 로직을 처리할 수 있습니다. 기본 구문은 다음과 같습니다.

import { useAnimation } from 'vue';

export default {
  setup() {
    const {animate, stop} = useAnimation();
    
    return {
      animate,
      stop
    }
  }
}

useAnimation에서 반환된 함수를 사용하여 일련의 애니메이션 키프레임을 만든 다음 애니메이션 함수를 통해 이러한 애니메이션을 실행할 수 있습니다. 예를 들어 다음과 같이 확대/축소 애니메이션을 만들 수 있습니다.

const { animate, stop } = useAnimation();
  
const scale = animate({
  0: {
    transform: 'scale(1)',
  },
  0.5: {
    transform: 'scale(1.2)',
  },
  1: {
    transform: 'scale(1)',
  },
}, {
  duration: 1000,
  easing: 'ease-in-out',
  iterations: Infinity,
  direction: 'alternate',
});

이 예에서는 애니메이션 기능을 사용하여 키프레임의 변형 속성을 지정하여 요소를 확대 및 축소할 수 있습니다. animate 함수의 두 번째 매개 변수에서는 애니메이션의 지속 시간, 여유 기능, 반복 횟수, 재생 방향을 설정할 수 있습니다. 이러한 방식으로 Vue 구성 요소에서 확대/축소 애니메이션 효과를 구현할 수 있습니다.

  1. useTransition

useTransition 함수를 사용하면 요소가 들어오거나 나갈 때 일부 전환 애니메이션 작업을 수행할 수 있습니다. 기본 구문은 다음과 같습니다.

import { useTransition } from 'vue';

export default {
  setup() {
    const { enter, leave } = useTransition();

    return {
      enter,
      leave
    }
  }
}

Enter 및 Leave 기능을 사용하여 요소의 시작 및 종료 동작에 대해 다양한 애니메이션 전환 효과를 설정할 수 있습니다. 예를 들어 다음 예에서는 페이드 인 및 페이드를 설정합니다. 요소에 대한 아웃 효과:

<template>
  <div :class="{'opacity-0': !show}" v-enter="fadeIn" v-leave="fadeOut"></div>
</template>

<script>
import { useTransition } from 'vue';

export default {
  setup() {
    const { enter, leave } = useTransition();

    const fadeIn = enter((el, done) => {
      el.style.opacity = '0';
      setTimeout(() => {
        el.style.opacity = '1';
        done();
      }, 1000)
    });

    const fadeOut = leave((el, done) => {
      el.style.opacity = '1';
      setTimeout(() => {
        el.style.opacity = '0';
        done();
      }, 1000)
    });

    return {
      fadeIn,
      fadeOut,
      show: true
    }
  }
}
</script>

이 예에서는 요소가 들어오고 나갈 때 각각 fadeIn 및 fadeOut 함수를 실행하고, 다양한 콜백 함수를 전달하여 페이드 인 및 페이드 아웃 전환 효과를 실행합니다. 콜백 함수에서는 setTimeout 함수를 사용하여 애니메이션 실행을 지연시키고 done 매개변수를 사용하여 애니메이션 완료 여부를 식별함으로써 애니메이션의 전환 효과를 얻을 수 있습니다.

2. 전환 구성 요소

Composition API에서 제공하는 애니메이션 기능 외에도 Vue3은 페이드 인 및 페이드 아웃, 왼쪽 슬라이드, 위로 슬라이드, 회전 등 기본 구문은 다음과 같습니다.

<transition name="fade">
  <div v-if="show">HELLO VUE3</div>
</transition>

Transition 구성 요소에서는 페이드, 슬라이드 왼쪽, 슬라이드 업, 회전 등과 같은 다양한 전환 애니메이션 효과를 사용하기 위해 다양한 이름 값을 지정할 수 있습니다. Vue3에서는 기본적으로 많은 전환 효과가 제공되며, 이름 값을 설정하여 얻을 수 있습니다. 예를 들어 다음 예제를 통해 간단한 페이드 인 및 페이드 아웃 애니메이션 효과를 구현할 수 있습니다.

<template>
  <div>
    <button @click="show = !show">Show/Hide</button>
    <hr>
    <transition name="fade">
      <p v-if="show">Hello Vue3</p>
    </transition>
  </div>
</template>

<script>
export default {
  data() {
    return {
      show: true
    }
  }
}
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s ease-in-out;
}
.fade-enter,
.fade-leave-to {
  opacity: 0;
}
</style>

이 예제에서는 이름을 fade로 설정하고 동적으로 변경하여 페이드 인 및 페이드 아웃 효과를 얻습니다. show 값은 요소의 표시 및 숨기기를 제어합니다. 애니메이션 효과에서는 CSS3의 전환 속성을 사용하여 전환의 애니메이션 효과를 설정하고, .fade-enter-active 및 .fade-leave-active를 통해 애니메이션 지속 시간 및 여유 기능을 설정하고, 애니메이션 지속 시간 및 완화 기능을 설정할 수 있습니다. .fade-enter 및 .fade -leave-to를 통한 완화 기능은 애니메이션이 시작되고 끝나는 시점의 상태를 설정합니다.

요약:

Vue3에서 애니메이션 기능과 전환 구성 요소는 애니메이션 효과를 얻는 두 가지 일반적인 방법입니다. 전자는 더 유연하고 자유롭고 더 복잡한 애니메이션 논리를 처리할 수 있습니다. 후자는 더 간단하고 사용하기 쉬우며 일부 기본 전환 애니메이션 효과에 적합합니다. 어떤 방법을 사용하든 CSS3 속성과 기능을 사용하여 다양하고 멋진 애니메이션 효과를 얻고 애플리케이션에 생동감 있는 색상을 추가할 수 있습니다.

위 내용은 Vue3의 애니메이션 기능: 멋진 애니메이션 효과 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
React vs. Vue : Netflix는 어떤 프레임 워크를 사용합니까?React vs. Vue : Netflix는 어떤 프레임 워크를 사용합니까?Apr 14, 2025 am 12:19 AM

NetflixusesAcustomFrameworkCalled "Gibbon"BuiltonReact, NotreactorVuedirectly.1) TeamExperience : 2) ProjectComplexity : vueforsimplerProjects, 3) CustomizationNeeds : reactoffersmoreflex.4)

프레임 워크의 선택 : Netflix의 결정을 이끌어내는 것은 무엇입니까?프레임 워크의 선택 : Netflix의 결정을 이끌어내는 것은 무엇입니까?Apr 13, 2025 am 12:05 AM

Netflix는 주로 프레임 워크 선택의 성능, 확장 성, 개발 효율성, 생태계, 기술 부채 및 유지 보수 비용을 고려합니다. 1. 성능 및 확장 성 : Java 및 SpringBoot는 대규모 데이터 및 높은 동시 요청을 효율적으로 처리하기 위해 선택됩니다. 2. 개발 효율성 및 생태계 : React를 사용하여 프론트 엔드 개발 효율성을 향상시키고 풍부한 생태계를 활용하십시오. 3. 기술 부채 및 유지 보수 비용 : Node.js를 선택하여 유지 보수 비용과 기술 부채를 줄이기 위해 마이크로 서비스를 구축하십시오.

Netflix의 프론트 엔드의 반응, vue 및 미래Netflix의 프론트 엔드의 반응, vue 및 미래Apr 12, 2025 am 12:12 AM

Netflix는 주로 VUE가 특정 기능을 위해 보충하는 프론트 엔드 프레임 워크로 React를 사용합니다. 1) React의 구성 요소화 및 가상 DOM은 Netflix 애플리케이션의 성능 및 개발 효율을 향상시킵니다. 2) VUE는 Netflix의 내부 도구 및 소규모 프로젝트에 사용되며 유연성과 사용 편의성이 핵심입니다.

프론트 엔드의 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 () 메소드를 사용하십시오. 전자는 역사를 구하고 후자는 기록을 떠나지 않고 현재 경로를 대체합니다.

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. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

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

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)