뷰 라우터는 뷰에서 라우팅 기능을 구현할 수 있도록 지원하는 공식 라이브러리이다.

뷰 라우터를 이용하여 뷰로 만든 페이지 간에 자유롭게 이동할 수 있다.


<router-link to="URL값"> : 페이지 이동 태그. 화면에서는 <a>로 표시되며 클릭하면 to에 지정한 URL로 이동한다.

<router-view> : 페이지 표시 태그, 변경되는 URL에 따라 해당 컴포넌트를 뿌려주는 영역이다.



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
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
 
<div id="app">
    <h1>뷰 라우터 예제</h1>
    <p>
        <router-link to="/main">Main 컴포넌트로 이동</router-link>
        <router-link to="/login">Login 컴포넌트로 이동</router-link>
    </p>
 
    <router-view></router-view>
 
</div>
 
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue-router@3.0.1/dist/vue-router.js"></script>
 
<script>
    var Main = {template: '<div>main</div>'};
    var Login = {template: '<div>login</div>'};
 
    var routes = [
        { path: '/main', component:Main},
        { path: '/login', component:Login}
        
    ];
 
    var router = new VueRouter({
        routes
    });
 
    var app = new Vue({
        router
    }).$mount('#app');
</script>
</body>
</html>
cs





login  |  main  이동 라우터 예제

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
 
    <div id="app">
        <div>
            <router-link to="/login">Login</router-link><br>
            <router-link to="/main">Main</router-link>
        </div>
        <!-- 페이지 표시태그. 변경되는 URL에 따라 해당 컴포넌트를 뿌려주는 영역 -->
        <router-view></router-view>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
 
    <script>
        var LoginComponent = {
            template : '<div>logincomponent</div>'
        }
 
        var MainComponent = {
            template : '<div>maincomponent</div>'
        }
 
        var router = new VueRouter({
           // '#'해시 없애기 깔끔한 url
            mode: 'history',
           //페이지의 라우팅 정보(배열)
            routes : [
                { 
                    //첫번째 페이지
                    path: '/login',
                    //해당 url에서 표시될 컴포넌트
                    component: LoginComponent
                },
                {
                    path: '/main',
                    component: MainComponent
                } //두번째 페이지
            ]
        });
 
        new Vue({
            el: '#app',
            //라우터속성 : 라우터변수
            router : router
        });
    </script>
</body>
</html>
cs


































'Vue' 카테고리의 다른 글

뷰리소스  (0) 2019.08.02
네스티드 라우터(Nested Router), 네임드 뷰(Named View)  (0) 2019.08.02
이벤트 버스 형식  (0) 2019.08.01
props, event emit 컴포넌트의 유효범위  (0) 2019.07.31
css 클래스 바인딩  (0) 2019.07.31

+ Recent posts