Vue 라우팅 후크 및 애플리케이션 시나리오 요약 공유
이 글은 주로 Vue 라우팅 후크와 응용 시나리오(요약)에 대한 자세한 설명을 소개합니다. 편집자는 꽤 좋다고 생각하므로 지금 공유하고 참고용으로 제공하겠습니다. 편집자를 따라 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.
1. 라우팅 후크 구문
vue-router 공식 문서에서 라우팅 후크는 네비게이션 가드로 번역됩니다. 다음은 문서의 내용을 요약한 것입니다. 포털을 통해서도 공식 웹사이트로 이동할 수 있습니다. 자세한 내용을 읽으려면
라우팅 후크
라우팅 후크는 주로 사용자가 라우팅 변경 시 특별한 처리를 수행하도록 정의됩니다. . 정말 한 입.
일반적으로 Vue는 세 가지 주요 유형의 후크를 제공합니다
1. 전역 후크
2. 특정 경로 전용 후크
3. 구성 요소 내 후크
세 가지 라우팅 후크가 포함됩니다. 공식 소개는 여기
to: Route: 진입하려는 대상 경로 객체
from: Route: 현재 내비게이션이 떠나려는 경로
next: 함수: 이 메서드를 호출해야 이 문제를 해결할 수 있습니다. 훅. 실행 효과는 다음 메서드의 호출 매개변수에 따라 달라집니다.
next(): 파이프라인의 다음 후크로 진행합니다. 모든 Hook이 실행되면 탐색 상태가 확인됩니다.
next(false): 현재 탐색을 중단합니다. 브라우저의 URL이 변경되면(아마도 사용자가 수동으로 또는 브라우저의 뒤로 버튼을 사용하여) URL 주소는 from 경로에 해당하는 주소로 재설정됩니다.
next('/') 또는 next({ path: '/' }): 다른 주소로 이동합니다. 현재 탐색이 중단되고 새 탐색이 시작됩니다.
(1) 글로벌 가드(글로벌 라우팅 후크)
router.beforeEach를 사용하여 글로벌 프론트 가드를 등록할 수 있습니다.
const router = new VueRouter({ ... }) router.beforeEach((to, from, next) => { // ... next() })
각 가드 메소드는 세 가지 매개변수를 허용합니다:
to: Route: About to The enter target path object
from: Route: 현재 내비게이션이 떠나는 경로
next: 기능: 이 후크를 해결하려면 이 메서드를 호출해야 합니다. 실행 효과는 next 메소드의 호출 매개변수에 따라 다릅니다.
참고: 전역 라우팅 후크를 사용할 때는 반드시 next()를 호출하세요!!!
(2) 라우팅 전용 가드(인라우트 후크)
라우팅 후크를 사용하여 구성에서 beforeEnter 가드를 직접 정의할 수 있습니다.
const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, beforeEnter: (to, from, next) => { // ... } } ] })
이 가드는 전역 사전 가드와 동일한 메서드 매개변수를 갖습니다.
(3) 구성 요소 내 가드(구성 요소 내 후크)
마지막으로 라우팅 구성 요소에서 경로 탐색 가드를 직접 정의할 수 있습니다.
beforeRouteEnter
beforeRouteUpdate(2.2의 새로운 기능)
-
beforeRouteLeave
const Foo = { template: `...`, beforeRouteEnter (to, from, next) { // 在渲染该组件的对应路由被 confirm 前调用 // 不!能!获取组件实例 `this` // 因为当守卫执行前,组件实例还没被创建 }, beforeRouteUpdate (to, from, next) { // 在当前路由改变,但是该组件被复用时调用 // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候, // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 // 可以访问组件实例 `this` }, beforeRouteLeave (to, from, next) { // 导航离开该组件的对应路由时调用 // 可以访问组件实例 `this` } }
2. 실제 개발에서 라우팅 훅을 적용하는 경우는 거의 없습니다. 실제 프로젝트에서는 컴포넌트 내에서 beforeRouteLeave만 사용했습니다. 다음 세 가지 상황 유형:
(1) 현재 구성 요소에서 타이머 지우기
구성 요소에 타이머가 있는 경우 경로가 전환되면 beforeRouteLeave를 사용하여 메모리 점유를 피하기 위해 타이머를 지울 수 있습니다.
beforeRouteLeave (to, from, next) { window.clearInterval(this.timer) //清楚定时器 next() }
(2) 페이지에 닫히지 않은 창이 있거나 저장되지 않은 내용이 있는 경우 페이지 이동을 방지하세요
페이지에 이동하기 전에 저장해야 하는 중요한 정보가 있거나 팝업 상자가 있는 경우. 사용자가 점프하는 것을 방지해야 합니다
beforeRouteLeave (to, from, next) { //判断是否弹出框的状态和保存信息与否 if (this.dialogVisibility === true) { this.dialogVisibility = false //关闭弹出框 next(false) //回到当前页面, 阻止页面跳转 }else if(this.saveMessage === false) { alert('请保存信息后退出!') //弹出警告 next(false) //回到当前页面, 阻止页面跳转 }else { next() //否则允许跳转 } }
(3) 관련 콘텐츠를 Vuex 또는 세션에 저장
사용자가 페이지를 닫아야 하는 경우 공개 정보를 세션 또는 Vuex
beforeRouteLeave (to, from, next) { localStorage.setItem(name, content); //保存到localStorage中 next() }
에 저장할 수 있습니다. 관련 권장 사항:
위 내용은 Vue 라우팅 후크 및 애플리케이션 시나리오 요약 공유의 상세 내용입니다. 자세한 내용은 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)

뜨거운 주제











어제 인터뷰 도중 롱테일 관련 질문을 해본 적이 있느냐는 질문을 받아서 간략하게 요약해볼까 생각했습니다. 자율주행의 롱테일 문제는 자율주행차의 엣지 케이스, 즉 발생 확률이 낮은 가능한 시나리오를 말한다. 인지된 롱테일 문제는 현재 단일 차량 지능형 자율주행차의 운영 설계 영역을 제한하는 주요 이유 중 하나입니다. 자율주행의 기본 아키텍처와 대부분의 기술적인 문제는 해결되었으며, 나머지 5%의 롱테일 문제는 점차 자율주행 발전을 제한하는 핵심이 되었습니다. 이러한 문제에는 다양한 단편적인 시나리오, 극단적인 상황, 예측할 수 없는 인간 행동이 포함됩니다. 자율 주행에서 엣지 시나리오의 "롱테일"은 자율주행차(AV)의 엣지 케이스를 의미하며 발생 확률이 낮은 가능한 시나리오입니다. 이런 희귀한 사건

홈 화면에서 중요한 항목을 삭제하고 다시 복구하려고 하시나요? 다양한 방법으로 앱 아이콘을 화면에 다시 표시할 수 있습니다. 우리는 당신이 따라갈 수 있는 모든 방법과 홈 화면에 앱 아이콘을 다시 넣을 수 있는 방법에 대해 논의했습니다. 방법 1 - 앱 라이브러리에서 앱 아이콘 바꾸기 앱 라이브러리에서 직접 홈 화면에 앱 아이콘을 배치할 수 있습니다. 1단계 – 옆으로 스와이프하여 앱 라이브러리의 모든 앱을 찾습니다. 2단계 – 이전에 삭제한 앱 아이콘을 찾습니다. 3단계 – 메인 라이브러리의 앱 아이콘을 홈 화면의 올바른 위치로 드래그하기만 하면 됩니다. 이것은 응용 다이어그램입니다

PHP에서 화살표 기호의 역할과 실제 적용 PHP에서 화살표 기호(->)는 일반적으로 객체의 속성과 메서드에 액세스하는 데 사용됩니다. 객체는 PHP의 객체지향 프로그래밍(OOP)의 기본 개념 중 하나입니다. 실제 개발에서는 객체를 조작할 때 화살표 기호가 중요한 역할을 합니다. 이 기사에서는 화살표 기호의 역할과 실제 적용을 소개하고 독자의 이해를 돕기 위해 구체적인 코드 예제를 제공합니다. 1. 객체의 속성에 접근하기 위한 화살표 기호의 역할 화살표 기호를 사용하여 객체의 속성에 접근할 수 있습니다. 쌍을 인스턴스화할 때

Linuxtee 명령은 기존 출력에 영향을 주지 않고 출력을 파일에 쓰거나 출력을 다른 명령으로 보낼 수 있는 매우 유용한 명령줄 도구입니다. 이 기사에서는 초보자부터 숙련자까지 Linuxtee 명령의 다양한 애플리케이션 시나리오를 심층적으로 살펴보겠습니다. 1. 기본 사용법 먼저 tee 명령어의 기본 사용법을 살펴보겠습니다. tee 명령의 구문은 다음과 같습니다: tee[OPTION]...[FILE]...이 명령은 표준 입력에서 데이터를 읽고 데이터를 다음 위치에 저장합니다.

Go 언어는 Google이 개발하여 2007년에 처음 출시된 오픈 소스 프로그래밍 언어입니다. 간단하고 배우기 쉽고 효율적이며 동시성이 높은 언어로 설계되었으며 점점 더 많은 개발자가 선호합니다. 이 기사에서는 Go 언어의 장점을 살펴보고 Go 언어에 적합한 몇 가지 애플리케이션 시나리오를 소개하며 구체적인 코드 예제를 제공합니다. 장점: 강력한 동시성: Go 언어에는 동시 프로그래밍을 쉽게 구현할 수 있는 경량 스레드 고루틴에 대한 지원이 내장되어 있습니다. Goroutin은 go 키워드를 사용하여 시작할 수 있습니다.

운영 및 유지 관리 담당자로서 이러한 시나리오를 접한 적이 있습니까? 높은 시스템 CPU 또는 메모리 사용량을 테스트하여 경보를 트리거하거나 스트레스 테스트를 통해 서비스의 동시성 기능을 테스트하는 도구를 사용해야 합니다. 운영 및 유지 관리 엔지니어는 이러한 명령을 사용하여 오류 시나리오를 재현할 수도 있습니다. 그렇다면 이 문서는 일반적으로 사용되는 테스트 명령과 도구를 익히는 데 도움이 될 수 있습니다. 1. 서론 어떤 경우에는 프로젝트에서 문제를 찾아 재현하기 위해 도구를 사용하여 체계적인 스트레스 테스트를 수행하여 실패 시나리오를 시뮬레이션하고 복원해야 합니다. 현재 테스트 또는 스트레스 테스트 도구가 특히 중요해졌습니다. 다음으로 다양한 시나리오에 따라 이러한 도구를 사용하는 방법을 살펴보겠습니다. 2. 테스트 도구 2.1 네트워크 속도 제한 도구 tctc는 Linux에서 네트워크 매개변수를 조정하는 데 사용되는 명령줄 도구이며 다양한 네트워크를 시뮬레이션하는 데 사용할 수 있습니다.

클라우드 컴퓨팅 분야에서 Linux의 광범위한 적용 클라우드 컴퓨팅 기술의 지속적인 개발 및 대중화와 함께 Linux는 오픈 소스 운영 체제로서 클라우드 컴퓨팅 분야에서 중요한 역할을 담당합니다. 안정성, 보안성 및 유연성으로 인해 Linux 시스템은 다양한 클라우드 컴퓨팅 플랫폼 및 서비스에서 널리 사용되며 클라우드 컴퓨팅 기술 개발을 위한 견고한 기반을 제공합니다. 이 기사에서는 클라우드 컴퓨팅 분야에서 Linux의 광범위한 애플리케이션을 소개하고 구체적인 코드 예제를 제공합니다. 1. 클라우드 컴퓨팅 플랫폼에서 리눅스의 애플리케이션 가상화 기술 가상화 기술

MySQL 타임스탬프는 날짜, 시간 또는 날짜와 시간을 저장할 수 있는 매우 중요한 데이터 유형입니다. 실제 개발 과정에서 타임스탬프를 합리적으로 사용하면 데이터베이스 운영 효율성을 높이고 시간 관련 쿼리 및 계산을 용이하게 할 수 있습니다. 이 기사에서는 MySQL 타임스탬프의 기능, 특징 및 애플리케이션 시나리오를 논의하고 특정 코드 예제를 통해 설명합니다. 1. MySQL 타임스탬프의 기능 및 특징 MySQL에는 두 가지 유형의 타임스탬프가 있는데, 하나는 TIMESTAMP입니다.
