$ vue create my-project
$ vue add router
router, views ํด๋ ๋ถ๋ถ์ด ์ถ๊ฐ๋จ!
App.vue
: ์ต์์ ์ปดํฌ๋ํธ !!
views/
: route(index.js) ์ ๋งคํ๋๋ ์ปดํฌ๋ํธ๋ฅผ ๋ชจ์๋๋ ํด๋
compotents/
: router์ ๋งคํ๋ ์ปดํฌ๋ํธ ๋ด๋ถ์ ์์ฑํ๋ ์ปดํฌ๋ํธ๋ค์ ๋ชจ์๋๋ ํด๋
๋ก๋ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ ์์ฃผ ๊ฐ๋จํ ํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋ณผ๊ฒ์
$vue add lodash
์ปดํฌ๋ํธ ๋ง๋ค๊ธฐ
<template>
<!--div์์ ๋ค ๋ฃ์ด์ฃผ๋ ๊ฑธ ์ ํธ-->
<div>
<h2>๋ก๋๋ฒํธ ์ถ์ฒ</h2>
<button @click="getLuckyNums">Pick My Lotto Numbers</button>
<p>์ค๋์ ์ถ์ฒ ๋ก๋ ๋ฒํธ</p>
<p>{{ selectedLuckyNums }}</p>
</div>
</template>
<script>
import _ from 'lodash'
export default {
name: 'TheLotto',
data: function () {
return {
sampleNums: [],
selectedLuckyNums: [],
}
},
methods: {
getLuckyNums: function () {
const numbers = _.range(1, 46)
this.sampleNums = _.sampleSize(numbers, 6)
this.selectedLuckyNums = _.sortBy(this.sampleNums)
// this.selectedLuckyNums.sort(function (num1, num2) {
// return num1 - num2
// })
},
}
}
</script>
<style>
</style>
๋ผ์ฐํฐ(๋งํฌ) ๋ฑ๋กํ๊ธฐ
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
// 1.์ปดํฌ๋ํธ ๋ฑ๋กํ๊ธฐ
import TheLotto from '../views/TheLotto.vue'
Vue.use(VueRouter)
//2. ์ค์ route(๊ฒฝ๋ก)๋ฅผ ์์ฑํ๋ ๋ฐฐ์ด
const routes = [
//...
// 3. ๊ฒฝ๋ก ์ ๋ณด ์์ฑ
{
//3-1 ํน์ ์ปดํฌ๋ํธ์ ๋งคํ๋ ๊ฒฝ๋ก
path: '/lotto',
//3-2 ๋ณ๋ช
์ผ๋ก ๋ถ๋ฅผ ๋ ์ฌ์ฉํ ์ด๋ฆ
name: 'TheLotto',
//3-3 ๊ฒฝ๋ก์ ๋ง๋ ํ๋ฉด์ด ๋ณด์ฌ์ง ๋ ๋ํ๋๋ ๋์ (์์์ importํ ์ปดํฌ๋ํธ)
component: TheLotto
}
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
<template>
<div id="app">
<div id="nav">
<!-- ... -->
<!-- ๊ฒฝ๋ก๋ก ๋ถ๋ฅด๋ ๋ฐฉ์ / ๋ณ๋ช
์ผ๋ก ๋ถ๋ฅด๋ ๋ฐฉ์ -->
<router-link :to="{ name: 'TheLotto' }">TheLotto</router-link>
</div>
<!-- 2. route outlet (์ค์ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง๋์ด ๋ณด์ฌ์ง๋ ๊ณณ) -->
<router-view/>
</div>
</template>
์ฌ์ฉํ์ง ์์ page ์ญ์ ํด์ค์๋ค. ๊ฐ๋ น ์์์ Home๊ณผ About!!