vue-router
https://ryuzuka.github.io/VUE/tutorial/17_vue-router.html
라우팅 기능을 구현할 수 있도록 지원하는 공식 라이브러리
설치
VouRouter
<router-view></router-view> // 페이지 표시 엘리먼트 - 해당컴포넌트가 화면에 표시되는 영역
- mode: 'history'
history mode : url의 hash( #태그 ) 값을 제외하고 기본 URL 방식을 사용한다.
( vue-router의 기본 모드는 hash mode 이다. )
- .redirect
동적 라우트 매칭 ( /: )
동일한 라우트에 여러 동적 세그먼트를 가질 수 있으며, $route.params 로 접근 할 수 있다.
패턴 | 일치하는 패스 | $route.params |
---|---|---|
/user/:username | /user/evan | { username: 'evan' } |
/user/:username/post/:post_id | /user/evan/post/123 | { username: 'evan', post_id: '123' } |
매칭 우선순위
동일한 URL이 여러 라우트와 일치하는 경우가 있다. 이 경우 일치하는 우선 순위는 라우트 정의의 순서에 따라 결정된다. 즉, 경로가 더 먼저 정의 될수록 우선 순위가 높아진다.
children( 중첩된 라우트 )
<route-view>에 렌더링 된 컴포넌트 내부에는 자신의 중첩 된 <route-view>를 포함 할 수도 있다.
프로그래밍 방식 네비게이션
router.push( location, onComplete, onAbort ) - onComplete, onAbort 콜백 제공
선언적 방식 | 프로그래밍 방식 |
---|---|
<router-link :to="..."> | router.push(...) |
router.replace( location ) - 새로운 히스토리 항목에 추가하지 않고 탐색
선언적 방식 | 프로그래밍 방식 |
---|---|
<router-link :to="..." replace> | router.replace(...) |
router.go(n) - window.history.go(n)와 비슷하게 히스토리 스택에서 앞으로 또는 뒤로 이동