Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 2022
- 개발콘텐츠
- 제네릭
- React Native
- 타입스크립트
- 타입좁히기
- Chart.js
- 누구나 자료구조와 알고리즘
- 반복줄이기
- reactjs
- 커스텀
- vue.js
- 레이아웃쪼개기
- 폰트적용하기
- 공통컴포넌트
- javascript
- react
- typescript
- 리액트
- click and drag
- 티스토리꾸미기
- JS console
- TSDoc
- utilty type
- 성능최적화
- React.js
- const 단언문
- returnType
- CSS
- NonNullable
Archives
- Today
- Total
몽땅뚝딱 개발자
[Vue.js] vue-router의 네비게이션 가드 본문
◽ 네비게이션 가드(navigation-guard)
네비게이션 가드란 특정 URL에 접근할 때 해당 URL의 접근을 막는 방법이다.
◽ 종류
1) 전역가드: 어플리케이션 전역에서 동작한다.
- to: 이동할 URL 정보가 담긴 라우터 객체
- from: 현재 URL 정보가 담긴 라우터 객체
- next: to에서 지정한 URL로 이동하기 위해 반드시 호출해야하는 함수
const router = new VueRouter();
// beforeEach()를 호출하고나면 모든 라우팅이 대기상태가 된다.
// URL로 라우팅하기위해서는 next()를 호출해야한다.
router.beforeEach(function( to, from, next ) {
// 'isPassed'는 내가 정의한 속성값으로 로그인을 한 경우 isPassed = true
// 로그인이 된 유저일 때
if(isPassed) {
next(); // 다음 라우터로 이동을 허용한다.
// 로그인이 되지 않았을 때
} else {
console.log('로그인 후 이용하실 수 있습니다.');
}
})
2) 라우터 가드: 특정 URL에서만 동작한다.
export const router = new VueRouter({
routes : [
{
path: '/home',
component: Home,
beforeEnter: function(to, from, next) {
// 인증을 위한 로직 작성
}
},
]
})
3) 컴포넌트 가드: 라우터 컴포넌트 안에 정의한다.
<script>
export default {
beforeRouterEnter(to, from, next) {
// 컴포넌트가 화면에 표시되기 전 수행될 로직
},
beforeRouterUpdate(to, from, next) {
// 컴포넌트가 화면에 표시된 후 수행될 로직
},
beforeRouterLeave(to, from, next) {
// URL값이 변경되기 직전에 수행될 로직
},
}
</script>
출처
https://joshua1988.github.io/web-development/vuejs/vue-router-navigation-guards/
https://jamong-icetea.tistory.com/221
'Development > Vue.js' 카테고리의 다른 글
[Vue.js/라이브러리] debounce (0) | 2021.12.31 |
---|---|
[Vue.js/라이브러리] NProgress (0) | 2021.12.28 |
[Vue.js] .sync (0) | 2021.12.27 |
[Vue.js] Vue.prototype.$ / 인스턴스 프로퍼티 사용하기 (0) | 2021.12.23 |
[Vue.js] apply(), call() (0) | 2021.12.23 |
Comments