반응형
06.내비게이션과 라우터
라우터란?
- 페이지 간 이동을 위한 라이브러리
- 경로와 컴포넌트를 등록하면 싱글페이지 앱에서 사용자가 클릭한 경로로 화면이 이동하도록 도와줌
주요기능
- 중첩된 route/view mapping
- 모듈화된, 컴포넌트 기반의 라우터 설정
- 라우터 파라미터, 쿼리, 와일드 카드
- vue.js의 transition system을 이요한 트랜지션 효과
- 세밀한(Fine-grained) 네비게이션 컨트롤
- active CSS 클래스를 자동으로 추가해주는 링크
- HTML5 History모드 또는 Hash 모드
- -- auto-fallback in IE9
- -- vue router에서 default는 Hash 모드
- 사용자 정의 가능한 스크롤 동작
(네이티브 앱같은 분위기를 내려면 spa가 좋지만 검색엔진 같은 분위기로는 spa는 좋은 선택이 아닐 수도 있다.)
<div id="app">
<h1>안녕하세요</h1>
<p>
라우터사용
<router-link to="/main">메인페이지</router-link>
<router-link to="/sub">서브페이지</router-link>
</p>
<hr />
<router-view></router-view>
</div>
<script>
const tmMain = {
template: `<h2>메인페이지</h2>`,
};
const tmSub = {
template: `<h2>서브페이지</h2>`,
};
const rtRouter = [
{
path: "/main",
component: tmMain,
},
{
path: "/sub",
component: tmSub,
},
];
//라우터 인스턴스를 생성하고 'routes'옵션을 전달
// 'router'객체변수는 라우터 인스턴스이면서 Vue생성 시 옵션으로 사용되므로 변수 이름은 반드시 'router'사용
const router = new VueRouter({
routes: [...rtRouter],
});
// 뷰 루트 인스턴스를 만들고 router 옵션 추가
const app = new Vue({
el: "#app",
router,
//반드시 const router = new VueRouter({})에서 작성한 이름 사용
});
</script>
07. 새로 고침이 불피요한 SPA 만들기
싱글 페이지 앱(SPA, Single Page App)이란?
- 서버에 매번 요청하더라도 새로고침이 불필요
- 사용자의 서비스 경험속도가 훨씬 빨라짐 ex) 구글 지메일, 구글 맵, 페이스북, 트위터 등
router history mode는 주소표시줄에 #을 제거
728x90
'VueJS > VueJS' 카테고리의 다른 글
2023/06/19__VueJS(Vue && PWA && Firebase) (0) | 2023.06.20 |
---|---|
2023/06/15__VueJS(vuetify) (0) | 2023.06.15 |
2023/06/14__VueJS(Vuetify) (0) | 2023.06.14 |
2023/06/12__Vue.JS(2) (computed, method, component, templet, Vuex) (0) | 2023.06.12 |
2023/06/09__Vue.js (0) | 2023.06.09 |