티스토리 뷰
728x90
반응형
뷰 라우터도 리액트에서 쓰이는 라우터와 비슷한 듯 약간의 명칭만 조금 달라지는 것 같다.
먼저, 뷰 프로젝트에 라우터를 설치한다.
$ npm install vue-router@4
OR
$ npm i vue-router
OR
$ yarn add vue-router@4
이 글을 볼 때 4버전이 아닐 수 있으니, 공식문서에서 한번 더 체크를 권장한다.
먼저 프로젝트에 라우터를 설정을 한다.
import { createWebHistory, createRouter } from "vue-router";
import Component1 from './Component1.vue';
import Component2 from './Component2.vue';
const routes = [
{
path: "/경로1",
component: Component1,
},
{
path: "/경로2",
component: Component2,
}
];
const router = createRouter({
history: createWebHistory(),
routes,
});
export default router;
path : 경로로 앞에 슬래시 ('/')를 붙여주고 원하는 명칭을 작성한다.
component : path로 들어갈 때 보여줄 컴포넌트를 import를 해준다.
이후에 계속 새로운 경로를 추가하여 작성할 수 있다. 여기서 상단에 있는 경로1이 가장 우선순위가 된다. 중요한 홈페이지 순으로 정렬을 하면 된다.
그런 다음 main.js에도 라우터를 쓴다는 의미로 일부 코드를 수정해준다.
import router from './router'
createApp(App).use(router).mount('#app')
이후에는 내가 페이지 이동 링크를 만들고 싶으면 아래 처럼 사용하면 된다.
router-link
router-link는 HTML에서 a와 같은 역할을 한다. to라는 속성이 a태그에서 href 속성과 동일하다.
<template>
<!-- ... -->
<div>
<!-- ... -->
<router-link to="/">Go to Home</router-link>
<router-link to="/about">Go to About</router-link>
<!-- ... -->
</div>
<!-- ... -->
</template>
해당 a태그를 넣고 싶은 곳 안에 넣어주면 끝이다.
router-view
현재 라우터가 제공하는 컴포넌트가 렌더링이 된다. 예를 들어 App.vue와 router/index.ts에 아래와 같은 코드가 있다고 가정해본다.
<!-- App.vue -->
<template>
<v-app>
<router-view></router-view>
</v-app>
</template>
import { createRouter, createWebHistory } from "vue-router";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: "/",
name: "home view",
component: () => import("@/views/MainHome.vue"),
},
],
});
export default router;
위 코드처럼 있는 경우 우리는 메인에는 MainHove.vue를 보여주게 된다. 이 표현이 맞는걸까?
728x90
반응형
'Front-End > Vue.js' 카테고리의 다른 글
vite-plugin-vue-layouts (0) | 2023.12.30 |
---|---|
unplugin-vue-router (0) | 2023.12.09 |
PRETTIER : Delete `␍`에러 해결법 (0) | 2023.01.28 |
뷰에 대한 정리 및 뷰 사용 (0) | 2022.09.03 |
프로젝트에 scss를 전역적으로 사용하는 방법 (0) | 2022.08.06 |
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java
- Coding Test
- node
- array
- node-sass
- Visual Studio Code
- 재공부
- node.js
- react
- 리덕스
- 노드
- 뷰
- 파이썬
- redux
- javascript
- github
- 자바스크립트
- 리액트
- Git
- 코딩테스트
- programmers
- 리액트 유튜브
- 함수
- CSS
- 자바
- 프로그래머스
- Switch
- 리액트 썸네일
- mongodb
- 배열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함