>웹 프론트엔드 >JS 튜토리얼 >Vue2.X에서 라우팅 및 후크 기능 사용

Vue2.X에서 라우팅 및 후크 기능 사용

亚连
亚连원래의
2018-06-06 16:09:351705검색

이제 Vue2.X를 기반으로 한 라우팅 및 Hook 기능에 대해 자세히 설명하겠습니다. 참고할 만한 가치가 있으며 모든 분들께 도움이 되기를 바랍니다.

최근 회사 일이 좀 바빠서 오랫동안 기사를 업데이트하지 않았고 새로운 것을 배운 적이 없습니다.

오늘은 이 라우팅 후크에 대해 이야기해 보겠습니다.

Navigation 및 후크 기능:

Navigation: 경로가 변경됩니다. 키워드: 경로 변경

Hook 기능: 경로 전환의 여러 단계에서 다른 노드 기능을 호출합니다(제 생각에 후크 기능은 다음과 같습니다. 트리거되는 함수) 특정 노드 및 타이밍에 따라).

후크 기능은 주로 탐색을 가로채고 점프를 완료하거나 취소하고 탐색의 여러 단계에서 다양한 기능을 실행하는 데 사용됩니다. 마지막으로 후크 기능의 실행 결과는 탐색에 수행할 작업을 알려줍니다. .

내비게이션은 모든 후크가 해결될 때까지 기다리고 있으며 후크 기능이 다음에 수행할 작업을 알려줄 때까지 기다립니다. next()를 사용하여 지정합니다.

로그인 예를 들어보겠습니다.

router.beforeEach(({meta, path}, from, next) => {   
 
  const {auth = true} = meta  // meta代表的是to中的meta对象,path代表的是to中的path对象 
 
  var isLogin = Boolean(store.state.user.id) // true用户已登录, false用户未登录  
   
  if (auth && !isLogin && path !== '/login') { // auth 代表需要通过用户身份验证,默认为true,代表需要被验证, false为不用检验 
    return next({ path: '/login' }) // 跳转到login页面 
  } 
 
 
  next() // 进行下一个钩子函数 
})

먼저 beforeEach 후크 함수에 대해 이야기하겠습니다. 이는 전역 before 후크 함수로, 모든 경로가 바뀔 때마다 모두 실행되어야 한다는 의미입니다.

3개의 매개변수:

to:(경로 라우팅 객체) 입력하려는 대상 라우팅 객체의 to 객체 아래 속성: 경로 매개변수 쿼리 해시 fullPath 일치 이름 메타(일치 아래, 하지만 이 예제는 직접 사용할 수 있습니다)

from: (경로 라우팅 개체) 현재 내비게이션이 떠나려고 하는 경로

next: (함수 함수) 이 후크를 해결하려면 이 메서드를 호출해야 합니다. 호출 방법: next(매개변수 또는 비어 있음) ***다음을 호출해야 함(매개변수가 없는 경우): 파이프라인에서 다음 후크를 수행하면 탐색 상태가 확인됩니다.

next('/') 또는 next({ path: '/' }): 다른 주소로 이동합니다. 현재 탐색이 중단되고 새 탐색이 시작됩니다.

전역 후크 기능의 전역 afterEach:

after 후크에는 next 메서드가 없으며 탐색을 변경할 수 없습니다. 탐색 실행 방법이 결정된 후 첨부된 실행이 있음을 의미합니다. 후크 기능

컴포넌트의 후크 기능:

(beforeRouteEnter 및 beforeRouteLeave와 감시 기능 포함)

Vue2.X는 vue1.X보다 컴포넌트 내 후크 기능이 훨씬 적습니다. .

구성 요소 자체의 수명 주기 후크 기능을 사용하여 활성화 및 비활성화를 대체합니다.

$router의 감시자를 사용하여 경로 변경에 응답합니다.

canActivate는 라우터 구성의 beforeEnter에서 구현할 수 있습니다.

canDeactivate는 beforeRouteLeave로 대체되었습니다. 구성 요소의 루트 수준 정의에 지정됩니다. 이 후크 함수는 구성 요소 인스턴스를 컨텍스트로 사용하여 호출됩니다.

canReuse는 혼란스럽고 거의 사용되지 않기 때문에 제거되었습니다.

ajax를 사용하여 데이터(to, from, next) 후크를 가져오고 대신 컴포넌트에서 beforeRouteEnter(to, from, next)를 사용하세요.

위 내용은 모두에게 도움이 되기를 바랍니다. 미래에.

관련 기사:

vue-cli 프로젝트의 ProxyTable 도메인 간 문제

React 구성 요소에서 ref를 사용하는 방법

webpack에서 devtool 사용에 대한 자세한 설명

위 내용은 Vue2.X에서 라우팅 및 후크 기능 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.