Vue의 시차 전환 구현 방법: 1. 해당 vue 파일을 엽니다. 2. 전환 그룹 구성 요소를 사용하여 패키지 목록의 각 요소에 대해 전환 구성 요소를 일괄 작동합니다. 3. 각 목록 항목에 서로 다른 지연을 추가합니다. .
이 튜토리얼의 운영 환경: Windows 10 시스템, Vue 버전 3, Dell G3 컴퓨터.
vue에서 시차 전환을 구현하는 방법은 무엇입니까?
Vue의 목록 시차 전환

은 vue를 기반으로 하며, 이를 위해서는 vue의 Vue에서 시차 전환을 구현하는 방법
및 Vue에서 시차 전환을 구현하는 방법-group
에 대한 경험이 필요합니다. > 사용하고 이해하세요. Vue에서 시차 전환을 구현하는 방법
和 Vue에서 시차 전환을 구현하는 방법-group
有过使用和了解。
Vue에서 시차 전환을 구현하는 방법
vue的文档对 transtion
组件已经有了很详细的 分析 了。
这里说一下我的理解:
transtion
是vue提供的一个抽象组件,会在 合适的时机 帮我们操作其包裹的子元素。
这个合适的时机是:
-
beforeEnter
dom 从 js 生成,并刚插入页面的 那一帧(对应下图的动画开始) -
enter
dom 插入页面之后的 下一帧(对应下图的动画中) -
afterEnter
dom 动画完成之后的 下一帧(对应下图的动画结束)

Vue에서 시차 전환을 구현하는 방법-group
ransition-group
组件 会对包裹的列表中每一个元素批量进行 transtion
组件 的操作。
html <div> <vue> <item></item> </vue>에서 시차 전환을 구현하는 방법-group> </div>
css.list-enter { opacity: 0; transform: translateY(100%); }.list-enter-active { Vue에서 시차 전환을 구현하는 방법: .3s; }/* enter-to其实可以不用写, 没有显性写明,就是默认的opacity: 1;transform: none; */.list-enter-to { opacity: 1; transform: translateY(0); }

接下来给 每个列表项 加上不同 延时 即可。
Vue에서 시차 전환을 구현하는 방법-delay
css.list-enter-active:nth-child(5n+2) { Vue에서 시차 전환을 구현하는 방법-delay: .3s; }.list-enter-active:nth-child(5n+3) { Vue에서 시차 전환을 구현하는 방법-delay: .5s; }.list-enter-active:nth-child(5n+4) { Vue에서 시차 전환을 구현하는 방법-delay: .7s; }.list-enter-active:nth-child(5n+5) { Vue에서 시차 전환을 구현하는 방법-delay: .9s; }复制代码

用 Vue에서 시차 전환을 구현하는 방법-delay 配合 css选择器,确实可以实现Vue에서 시차 전환을 구현하는 방법,
但是缺点也很明显,要写大量的 css ,修改起来也不灵活。
接下来我们用vue的 JavaScript钩子 来实现。
Vue에서 시차 전환을 구현하는 방법
html<div> <!-- 这里加上 v-bind:css="false" 让vue跳过对css的检测,让我们更好控制 动画完成的时机 --> <vue> <item></item> </vue>에서 시차 전환을 구현하는 방법-group></div>复制代码
当只用 JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则,它们将被同步调用,过渡会立即完成。
new Vue({ el: "#app", data: () => ({ num: 0 }), methods: { //让我们在 beforeEnter enter afterEnter 钩子里,把 vue 帮我们做的事,自己做一遍: //添加移除 class 类名,监听 Vue에서 시차 전환을 구현하는 방법end 事件。 beforeEnter(dom) { dom.classList.add('list-enter', 'list-enter-active'); }, enter(dom,done) { let delay = dom.dataset.delay; Vue에서 시차 전환을 구현하는 방법(function () { dom.classList.remove('list-enter'); dom.classList.add('list-enter-to'); //监听 Vue에서 시차 전환을 구현하는 방법end 事件 var Vue에서 시차 전환을 구현하는 방법end = window.onVue에서 시차 전환을 구현하는 방법end ? "Vue에서 시차 전환을 구현하는 방법end" : "webkitTransitionEnd"; dom.addEventListener(Vue에서 시차 전환을 구현하는 방법end, function onEnd() { dom.removeEventListener(Vue에서 시차 전환을 구현하는 방법end, onEnd); done(); //调用done() 告诉vue动画已完成,以触发 afterEnter 钩子 }); }, delay) }, afterEnter(dom) { dom.classList.remove('list-enter-to', 'list-enter-active'); } } })复制代码

目前来说,运行良好,实现了Vue에서 시차 전환을 구현하는 방법的效果,也不用写大量的 css。
回头看看我们一共做了2件事,用 .list-enter .list-enter-to
和 Vue에서 시차 전환을 구현하는 방법
告诉浏览器,在不同的时间把列表项,从opacity 0 translateY(100%
) 过渡到,opacity 1 translateY(0)
Vue에서 시차 전환을 구현하는 방법
vue의 문서에는 이미 transtion
구성 요소분석
transtion
은 vue에서 제공하는 추상 구성 요소로, 적절한 시간에 래핑된 하위 요소를 작동하는 데 도움이 됩니다. 적절한 시간은 다음과 같습니다.
-
beforeEnter
js에서 dom이 생성되어 페이지에 방금 삽입된 프레임(아래 그림의 애니메이션 시작 부분에 해당)
-
enter
dom은 페이지에 삽입한 후의 다음 프레임입니다(아래 애니메이션에 해당).
-
afterEnter
dom은 애니메이션이 완료된 후 다음 프레임(아래 그림의 애니메이션이 종료됨에 해당)
beforeEnter
js에서 dom이 생성되어 페이지에 방금 삽입된 프레임(아래 그림의 애니메이션 시작 부분에 해당) enter
dom은 페이지에 삽입한 후의 다음 프레임입니다(아래 애니메이션에 해당).afterEnter
dom은 애니메이션이 완료된 후 다음 프레임(아래 그림의 애니메이션이 종료됨에 해당)

전환 그룹
전환 그룹
구성 요소는 래핑된 목록의 각 요소에 대해 일괄 처리를 수행합니다. transtion
구성 요소의 작업입니다.
html <div> <vue> <item></item> </vue>에서 시차 전환을 구현하는 방법-group> </div>
new Vue({ el: "#app", data: () => ({ num: 0 }), methods: { beforeEnter(dom) { let { x = 0, y = 0, s = 1, opacity = 0 } = dom.dataset; dom.Vue에서 시차 전환을 구현하는 방법.cssText = `Vue에서 시차 전환을 구현하는 방법: .3s;opacity: ${opacity};transform: scale(${s}) translateX(${x}) translateY(${y});`; }, enter(dom,done) { let delay = dom.dataset.delay; Vue에서 시차 전환을 구현하는 방법(function () { dom.Vue에서 시차 전환을 구현하는 방법.cssText = `Vue에서 시차 전환을 구현하는 방법: .3s;opacity: 1;transform: scale(1) translateX(0) translateY(0);`; //监听 Vue에서 시차 전환을 구현하는 방법end 事件 var Vue에서 시차 전환을 구현하는 방법end = window.onVue에서 시차 전환을 구현하는 방법end ? "Vue에서 시차 전환을 구현하는 방법end" : "webkitTransitionEnd"; dom.addEventListener(Vue에서 시차 전환을 구현하는 방법end, function onEnd() { dom.removeEventListener(Vue에서 시차 전환을 구현하는 방법end, onEnd); done(); //调用done() 告诉vue动画已完成,以触发 afterEnter 钩子 }); }, delay) }, afterEnter(dom) { dom.Vue에서 시차 전환을 구현하는 방법.cssText = ""; } } })


전환-지연
html <item></item>

Vue에서 시차 전환을 구현하는 방법🎜getRandom() { var rate = Math.floor(Math.random() * 90 + 10); return Math.random() > 0.5 ? rate : -1 * rate;
}
🎜🎜전환에 JavaScript만 사용하는 경우 Enter 및 Leave의 콜백에 done을 사용해야 합니다. 그렇지 않으면 동기적으로 호출되고 전환이 즉시 완료됩니다. 🎜🎜rrreee🎜
🎜🎜🎜 🎜지금까지는 시차 전환 효과를 달성하면서 잘 실행되고 있으며 CSS를 많이 작성할 필요가 없습니다. 🎜🎜돌아보면 .list-enter .list-enter-to
및 Vue에서 시차 전환을 구현하는 방법
🎜🎜을 사용하여 브라우저에 다른 시간을 알리는 총 2가지 작업을 수행했습니다. 목록 항목을 불투명도 0translateY(100%
)에서 불투명도 1translateY(0)
로 변경합니다. 🎜🎜 클래스 이름 외에도 🎜🎜 DOM을 직접 조작하고 스타일을 인라인으로 작성할 수 있습니다. 🎜🎜 CSS 클래스 이름을 전혀 작성할 필요가 없다는 점 외에도 🎜🎜 더 많은 프로그래밍 가능성을 가질 수도 있습니다. 🎜🎜Vue에서 시차 전환을 구현하는 방법🎜rrreeerrreee🎜🎜🎜🎜🎜🎜그렇습니다. 하지만 모든 것이 js에 있으므로 제한할 수 있는 유일한 것은 상상력뿐입니다. 🎜rrreeerrreee🎜🎜🎜🎜추천 학습: "🎜vue.js 비디오 튜토리얼🎜"🎜🎜
위 내용은 Vue에서 시차 전환을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

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

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

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

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

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

라우터 링크 구성 요소를 사용하여 클릭 가능한 링크 생성을 포함하여 VUE에서 페이지 리디렉션을 설정하는 몇 가지 방법이 있습니다. router.push () 메소드를 사용하여 히스토리 스택에 새 경로를 수동으로 추가하십시오. 라우터 .replace () 메소드를 사용하여 현재 경로를 교체하십시오. location.href를 사용하여 직접 새 페이지로 리디렉션하십시오.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

뜨거운 주제



