왼쪽 및 오른쪽 페이지 넘기기 전환 애니메이션을 자동으로 판단하는 Vue Router 효과 구현 방법
얼마전에 모바일 스파 프로젝트를 만들었습니다. 기술 기반은 vue-cli scaffolding의 webpack 템플릿을 사용하기 때문에 모든 페이지에서 .vue 접미사가 붙은 파일을 사용합니다. 이 기사에서는 주로 vue 라우터가 왼쪽 및 오른쪽 페이지 넘기기 전환 애니메이션의 효과를 자동으로 결정하는 방법을 공유합니다.
최근에는 회사에 프로젝트가 상대적으로 적었고 마침내 vue-router를 사용한 나의 작은 경험을 기록할 시간이 생겼습니다.
일반 모바일 포트 단일 페이지 애플리케이션에는 페이지로 이동할 때 해당 전환 애니메이션이 있습니다. :
1. 현재 1레벨 페이지에서 2레벨 페이지로 점프할 때 표시해야 할 전환 애니메이션은 1레벨 페이지가 화면 왼쪽으로 이동하여 사라질 때
2단계 페이지가 화면 오른쪽에서 왼쪽으로 이동하면서 나타납니다. (책을 다음 페이지로 넘기는 효과와 유사)
2. 현재 2단계 페이지에서 다시 1단계 페이지로 점프할 때 표시해야 할 전환 애니메이션은 2단계 페이지가 이동할 때입니다. 화면 오른쪽으로 이동하다가 사라지고,
화면 왼쪽이 오른쪽으로 이동하면서 나타납니다. (책을 이전 페이지로 되돌리는 효과)
와 유사하지만 질문이 생깁니다. 현재 페이지와 이동할 페이지 사이의 계층적 관계를 어떻게 결정합니까?
제가 해결한 방법은 페이지(컴포넌트)를 생성할 때 페이지를 정의하는 라우터에 페이지의 경로(액세스 경로) 속성을 설정하여 컴포넌트 간의 계층 관계를 구분하는 것입니다.
예를 들어 1단계 페이지(컴포넌트) 'A'의 액세스 경로는 '/A'입니다. 그의 보조 페이지 'B'의 액세스 경로는 '/A/B'입니다.
그러면 해당 페이지로 점프하기 전에 현재 페이지와 점프할 페이지의 경로 깊이만 비교하면 전환이 동적으로 설정됩니다. 애니메이션 .
예를 들어 '/A/B' 깊이 > '/A' 깊이인 경우 B 페이지에서 A 페이지로 이동하는 경우 효과 2가 되어야 합니다. (책을 이전 페이지로 되돌리는 효과) .
一. 먼저 상위 페이지
home.vue:
<!-- keepAlList是用来动态判断组件是否需要keep-alive,建议保存到vuex中作为全局变量,至于下方的css动画,看官可以按照喜好自由修改--> <transition :name="transNa"> <keep-alive :include="keepAlList"> <router-view class="child-view"></router-view> </keep-alive> </transition> <style scoped> .child-view { position: absolute; width: 100%; height: 100%; transition: all .5s ease; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; } .rightin-enter, .leftin-leave-active { opacity: 0; transform: translate3d(50% 0, 0); -webkit-transform: translate3d(50%, 0, 0); -moz-transform: translate3d(50%, 0, 0); } .leftin-enter, .rightin-leave-active { opacity: 0; transform: translate3d(-50% 0, 0); -webkit-transform: translate3d(-50%, 0, 0); -moz-transform: translate3d(-50%, 0, 0); } </style>
two. 두 번째로, main.js 조각을 첨부합니다(페이지로 이동하기 전에 전환 애니메이션을 동적으로 설정하는 데 사용됨)
Main.js:
//进入路由之前设置拦截器 let noLoginList = ["login", "register", "forget", "home", "classify", "goodsDetial"]; router.routeInfo.beforeEach((to, from, next) => { let user = sessionStorage.getItem('user'); //如果要去登录页面 if (noLoginList.indexOf(to.name) >= 0) { if (!user || user == '') { //未登录的状态通行 next(); return; } else { if (["login", "register", "forget"].indexOf(to.name) >= 0) { //已登录的状态去首页 next({ name: 'home' }); return; } else { //已登录的状态去首页 next(); return; } } } else { //去登录页面以外的页面(以下是本文关键代码) if (user && user != '') { //判断是否为需要缓存组件,如果是添加组件名到数组 if (to.meta.keepAlive) { const toName = to.name; let keepLi = store.getters.getKeepAlList; keepLi.indexOf(toName) < 0 ? keepLi.push(toName) : ''; store.commit('SET_KEEPALLIST', keepLi); } //根据路径名深度设置转场动画类型 store.commit('SET_TRANSNA', (to.path.split('/').length < from.path.split('/').length ? 'leftin' : 'rightin')); next(); } else { let toWhere = router.nameList.indexOf(to.name) >= 0 ? to : {name: 'home'}; next({ name: 'login', params: { jumpTo: { name: toWhere.name, params: toWhere.params, query: toWhere.query, }, } }); } } });
관련 권장 사항:
jquery는 키보드 왼쪽 및 오른쪽 페이지 넘김 효과를 실현합니다_jquery
Vue 라우터는 jquery와 params를 사용하여 매개변수를 세부적으로 전달합니다.
Vue 라우터 라우팅 매개변수가 새로 고쳐지고 사라지는 문제에 대한 솔루션
위 내용은 왼쪽 및 오른쪽 페이지 넘기기 전환 애니메이션을 자동으로 판단하는 Vue Router 효과 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











L은 왼쪽을 의미하며 왼쪽 귀에 착용하고, R은 오른쪽을 의미하며 오른쪽 귀에 착용합니다. 분석 1 일반적으로 이어폰에 로고가 있는데 영문자는 L, R로 약칭한다. L은 왼쪽을 뜻하며 왼쪽 귀에 착용한다. R은 오른쪽 귀에 착용한다. R과 L로 표시된 특정 위치는 고정된 것이 아니며 특정 헤드폰을 기반으로 합니다. 일부 헤드폰에는 R이 빨간색으로 표시됩니다. 휴대폰과 함께 제공되는 헤드폰의 경우 일반적으로 마이크와 버튼이 있는 쪽이 오른쪽에 있습니다. 보충: 헤드폰의 종류 1 헤드폰은 사람들의 휴대용 오디오의 상징입니다. 헤드폰은 크게 두 가지 사양으로 나눌 수 있습니다. OMTP 사양은 일반적으로 국가 표준이라고 하며, CTIA 사양은 일반적으로 국제 표준이라고 합니다. 이어폰은 에너지 변환 방식에 따라 분류되며, 구체적으로는 다이나믹 코일 방식, 무빙 아이언 방식, 정적 방식으로 분류됩니다.

ReactRouter 사용자 가이드: 프런트엔드 라우팅 제어 구현 방법 단일 페이지 애플리케이션의 인기로 인해 프런트엔드 라우팅은 무시할 수 없는 중요한 부분이 되었습니다. React 생태계에서 가장 널리 사용되는 라우팅 라이브러리인 ReactRouter는 풍부한 기능과 사용하기 쉬운 API를 제공하여 프런트 엔드 라우팅 구현을 매우 간단하고 유연하게 만듭니다. 이 기사에서는 ReactRouter를 사용하는 방법을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. ReactRouter를 먼저 설치하려면 다음이 필요합니다.

rx588의 전력 소비는 약 250W입니다. rx580에서 영화를 보는 데는 전력이 소모되지만 그다지 많지는 않습니다. 많은 비디오를 디코딩하려면 하드웨어가 필요합니다. 그래픽 카드는 어느 정도 사용됩니다. xfx Crimson 및 Dylan Demon + 7700K 단일 카드의 플랫폼 전력 소비는 약 380w이고, 7700k는 100w로 계산되며 다른 장치를 합치면 최대 30w입니다. 즉, rx588의 전력 소비는 약 250w이고 전력 소비는 듀얼 카드 기기는 630w~650w이고 700w 이상이면 충분하지만 이때 전원 공급 장치의 부하가 너무 높아 수명에 영향을 미치며, 이상적인 전력인 60%~80%의 부하를 기준으로 계산됩니다. 공급 정격 전력은 850~1000w입니다. 사용되는 CPU와 오버클럭 여부에 따라 다릅니다. H61 마더보드는 H61 마더보드 자체가 588 그래픽 카드를 지원합니까?

Word는 일반적으로 사용되는 사무용 소프트웨어 중 하나입니다. 편집된 텍스트 내용이 길고 읽기 어려울 경우 Word에서 페이지를 넘길 수 있습니다. 아래에서 편집자는 Word에서 페이지를 넘기는 방법에 대한 간단한 튜토리얼을 친구들과 공유할 것입니다! 이것이 여러분에게 도움이 되기를 바랍니다! 1. 먼저 컴퓨터의 워드 소프트웨어로 여러 페이지로 구성된 워드 문서를 엽니다. 아래 그림과 같이: 2. 워드 인터페이스의 스크롤 막대에 있는 위쪽 화살표를 클릭하여 위로 스크롤하고 페이지를 넘깁니다. 아래 그림과 같이: 3. 페이지를 아래로 내려야 하는 경우 스크롤 막대의 아래쪽 화살표를 클릭합니다. 아래 그림과 같이: 4. 페이지를 넘기려면 스크롤 막대의 화살표를 클릭하세요. 스크롤 막대를 클릭하려면 마우스 오른쪽 버튼을 사용하여 페이지를 빠르게 넘겨야 합니다. 다음과 같이

JavaScript를 사용하여 무한 스크롤 페이지 넘김 기능을 구현하는 방법은 무엇입니까? 무한 스크롤링은 현대 웹사이트 디자인에서 매우 인기가 있습니다. 이 기능을 사용하면 사용자가 페이지 버튼을 클릭하지 않고도 페이지를 스크롤하여 새 콘텐츠를 로드할 수 있습니다. 이 글에서는 JavaScript를 사용하여 무한 스크롤을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 무한 스크롤 페이지 넘기기 기능을 구현하려면 사용자 스크롤 이벤트를 수신하고 페이지가 특정 위치로 스크롤될 때 새 콘텐츠를 로드해야 합니다.

VueRouter는 Vue.js에서 공식적으로 제공하는 경로 관리 플러그인으로 Vue 애플리케이션에서 페이지 탐색 및 경로 전환을 구현하는 데 도움이 됩니다. 지연 로딩 기능은 페이지 성능을 크게 최적화할 수 있는 VueRouter의 고유한 장점입니다. 이 기사에서는 VueRouter의 지연 로딩 라우팅 기능을 소개하고 페이지 성능 최적화를 위한 몇 가지 실용적인 코드 예제를 제공합니다. 지연 로딩은 필요할 때를 의미합니다.

라우터가 표시되지 않는 것에 대한 해결 방법: 1. 상위 라우팅 구성 요소에 browserRouter를 추가하여 라우터를 래핑합니다. 2. "this.props.history.go()"를 사용하여 구성 요소를 새로 고칩니다. 3. browserrouter 매개 변수에 "forcerefresh"를 추가합니다. ={true}"; 4. "<Route>"에 후크 함수를 작성하고 이 경로를 나가거나 들어갈 때 호출합니다.

VueRouter는 Vue.js 프레임워크의 공식 경로 관리자입니다. 이를 통해 개발자는 경로 매핑을 통해 페이지 콘텐츠를 전환할 수 있으므로 단일 페이지 애플리케이션을 더 쉽게 제어하고 유지 관리할 수 있습니다. 그러나 애플리케이션이 더욱 복잡해짐에 따라 경로 로드 및 구문 분석으로 인해 성능 병목 현상이 발생할 수 있습니다. 이 문제를 해결하기 위해 VueRouter는 실제로 필요할 때까지 경로 로딩을 연기하는 경로 지연 로딩 기능을 제공합니다. 지연 로딩은 로딩 기술입니다.
