ํ๋ก์ ํธ ํด๋์ src
๋ฐ์ components
ํด๋๋ฅผ ์์ฑํ๊ณ ๊ทธ ์๋์ TodoHeader.vue
TodoInput.vue
TodoList.vue
TodoFooter.vue
๋ฅผ ์์ฑํ๋ค.
์ปดํฌ๋ํธ ๊ฐ์ ๊ฒฝ์ฐ ๊ด๋ก์ src/components ํด๋์์ ๊ด๋ฆฌ๋ฅผ ํ๋ค. (ํด๋ ๊ด๋ฆฌ, ์ถํ ์ฌํ์ฉ ์ ๊ทผ์ ์ฉ์ด)
์ ํ๋ฆฌ์ผ์ด์
์ ๊ท๋ชจ๊ฐ ์ปค์ง ๊ฒฝ์ฐ components/๊ธฐ๋ฅ/์ปดํฌ๋ํธ.vue
์ ๊ฐ์ ํ์ฑ์ผ๋ก ๊ด๋ฆฌ (๊ธฐ๋ฅ๋ณ๋ก ํด๋ ๋๋๊ธฐ)
์ปดํฌ๋ํธ ์ฝ๋ ๊ตฌ์กฐ
<template>
<!-- html ์
๋ ฅ -->
</template>
<script>
export default{
}
</script>
<style>
/* css ์
๋ ฅ */
</style>
์ง์ญ ์ปดํฌ๋ํธ ๋ฑ๋ก ๋ฐฉ๋ฒ
component: { '์ปดํฌ๋ํธ ์ด๋ฆ' : ์ปดํฌ๋ํธ ๋ด์ฉ }
ํน์ ์ปดํฌ๋ํธ์์ ๋ค๋ฅธ ์์น์ ์๋ ์ปดํฌ๋ํธ์ ๋ด์ฉ์ ๋ถ๋ฌ ์ค๋ ๋ฐฉ๋ฒ
import ๋ถ๋ฌ์จ ํ์ผ์ ๋ด์ฉ์ด ๋ด๊ธธ ๊ฐ์ฒด from `๋ถ๋ฌ์ฌ ํ์ผ ์์น`;
<template>
<div id="app">
<!-- ๋ฑ๋กํ ์ปดํฌ๋ํธ 4๊ฐ๋ฅผ HTML์ ํ์ -->
<TodoHeader></TodoHeader>
<TodoInput></TodoInput>
<TodoList></TodoList>
<TodoFooter></TodoFooter>
</div>
</template>
<script>
// ์ปดํฌ๋ํธ ๋ด์ฉ ๋ถ๋ฌ์ค๊ธฐ;
// import ๋ถ๋ฌ์ฌ ํ์ผ์ ๋ด์ฉ์ด ๋ด๊ธธ ๊ฐ์ฒด from '๋ถ๋ฌ์ฌ ํ์ผ ์์น'
import TodoHeader from './components/TodoHeader.vue'
import TodoInput from './components/TodoInput.vue'
import TodoList from './components/TodoList.vue'
import TodoFooter from './components/TodoFooter.vue'
export default{
components: {
// ์ง์ญ ์ปดํฌ๋ํธ ๋ฑ๋ก
// '์ปดํฌ๋ํธ ํ๊ทธ ์ด๋ฆ' : ์ปดํฌ๋ํธ ๋ด์ฉ(๋ถ๋ฌ์ฌ ํ์ผ์ ๋ด์ฉ์ด ๋ด๊ธธ ๊ฐ์ฒด)
'TodoHeader' : TodoHeader,
'TodoInput' : TodoInput,
'TodoList' : TodoList,
'TodoFooter' : TodoFooter
}
}
</script>
....