๐Ÿ“• Language/Vue

[Age of Vue] Vue.js ์‹œ์ž‘ํ•˜๊ธฐ - 21. ๋ผ์šฐํ„ฐ(Router) ์‹ค์Šต (router-link)

a n u e 2022. 5. 7. 10:09

<router-view> ํƒœ๊ทธ๊ฐ€ ๋ผ์šฐํŒ… ๋œ ์ •๋ณด๋ฅผ ๋ฟŒ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค๋ฉด

<router-link>๋Š” ๊ทธ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋งํฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ญํ• . <a href=""></a> ํƒœ๊ทธ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ณด์ธ๋‹ค.

(๊ฐœ๋ฐœ์ž๋Š” ์ง์ ‘ url์— ์ณ์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‚ฌ์šฉ์ž๋Š” link๋ฅผ ํ†ตํ•˜์—ฌ ํ™”๋ฉด์ด ์ „ํ™˜์ด ๋˜์–ด์•ผํ•˜๋ฏ€๋กœ)

<router-link to="/login">Login</router-link>
<!--
    <a href="/login"></a>
-->
<router-link to="/main">Main</router-link>
<!-- 
    <a href="/main"></a> 
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <router-link to="/login">Login</router-link>
        <router-link to="/main">Main</router-link>
        <router-view></router-view>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="https://unpkg.com/vue-router@3.5.3/dist/vue-router.js"></script></script>

    <script>
        var LoginComponent = {
            template : '<div>Login</div>'
        }

        var MainComponent = {
            template : '<div>Main</div>'
        }
        var router = new VueRouter({
            routes : [
                {
                    path : '/login',
                    // ๋ผ์šฐํ„ฐ์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
                    // ๋„ฃ์ง€ ์•Š๋”๋ผ๋„ vue cli์„ ์ด์šฉํ•œ .vue ํŒŒ์ผ๋กœ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜๋ฉด ์•Œ์•„์„œ ๋ฐ˜์˜๋˜์–ด์ง
                    // name : 'login',
                    component : LoginComponent
                },
                {
                    path : '/main',
                    // name : main
                    component : MainComponent
                }
             ]
            });

        new Vue({
                el: '#app',
                router : router
            });
    </script>
</body>
</html>

 

 


ํ™”๋ฉด