Instance Component
์ธํ๋ฐ Vue.js ์์ํ๊ธฐ - Age of Vue / ์ฅ๊ธฐํจ(์บกํดํ๊ต)
Vue๋?
MVVM ํจํด์ ๋ทฐ๋ชจ๋ธ(ViewModel) ๋ ์ด์ด์ ํด๋นํ๋ ํ๋ฉด(View)๋จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
DOM Listeners
Data Bindings
MVVM ํจํด*
Model - View - ViewModel Pattern
View(UI)
Model(UI์์ ๋ณด์ฌ์ง๊ณ ์๋ ๋ฐ์ดํฐ)
Glue code(ํธ๋ค๋ง๊ณผ ๋ฐ์ธ๋ฉ ๊ทธ๋ฆฌ๊ณ ๋น์ฆ๋์ค ๋ก์ง)
MVVM ํจํด-๋ธ๋์ง๋ ๋ธ๋ก๊ทธ
์ฆ์์คํํจ์ IIFE
์ฆ์ ์คํ๋์ด ๊ฐ์ผ๋ก ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ํจ์
Vue์ reactivity(๋ฐ์์ฑ)
๋ฐ์์ฑ์ด๋? '๋ณ๊ฒฝ'์ ๋ํ ์ ์ด๋ฅผ ์ ์ธ์ ์ผ๋ก ์ํํ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์
vue๋ ๋น๊ฐ์ญ์ ์ธ ๋ฐ์์ฑ ์์คํ
vue์์ ๋ชจ๋ธ์ ํ๋ก์๋ก ๊ฐ์ธ์ง ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๋ชจ๋ธ์ ๋ณ๊ฒฝํ๋ฉด, ํ๋ฉด์ด ๋ฐ๋
Vue Instance
new Vue();
ํจ์ ์๊ธ์๊ฐ ๋๋ฌธ์ -> ์์ฑ์ ํจ์
๋ทฐ ์ธ์คํด์ค์ ์์ฑ๊ณผ api
์์ฑ์์ ์ธ์๋ ๊ฐ์ฒด๋ก key-value
el:
template: ํ๋ฉด์ ํ์๋ html,css
data: reactivity๊ฐ ๋ฐ์๋ ๋ฐ์ดํฐ
methods:
created:
watch:
vue๋ฅผ ์์ฑ์ ํจ์๋ก ์ฐ์ด๋ด๋ ์ด์
vue์์ api์ ์์ฑ๋ค์ ์ ์ํด๋๊ณ ๊ฐ์ ธ๋ค ์ฐ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฌ์ฉ์ฑ์ ๋ํ
Components
ํ๋ฉด์ ์์ญ์ ๊ตฌ๋ถํ์ฌ ๊ฐ๋ฐํ ์ ์๋ ๋ทฐ์ ๊ธฐ๋ฅ, ์ฌ์ฌ์ฉ์ฑ up
๋ชจ๋ ํ๋ ์์ํฌ๋ ๋๋ถ๋ถ ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจ
์ธ์คํด์ค๋ฅผ ์์ฑํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก root ์ปดํฌ๋ํธ๊ฐ ๋จ
์ง์ญ ์ปดํฌ๋ํธ์ ์ ์ญ ์ปดํฌ๋ํธ์ ์ฐจ์ด
์ง์ญ ์ปดํฌ๋ํธ
์ผ๋ฐ์ ์ธ ๋ฑ๋ก ๋ฐฉ์, ํ๋จ์ ์ด๋ค๊ฒ ๋ฑ๋ก๋์ด ์๋์ง ์ ์ ์์
์ธ์คํด์ค๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ค์ ๋ฑ๋กํด์ค์ผํจ
์ ์ญ ์ปดํฌ๋ํธ
ํ๋ฌ๊ทธ์ธ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ์ ์ญ์ผ๋ก ์ฌ์ฉํด์ผํ๋ ์ปดํฌ๋ํธ๋ง ๋ฑ๋ก
์ธ์คํด์ค๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ค์ ๋ฑ๋กํ ํ์์์
์ปดํฌ๋ํธ ํต์ ๊ท์น
์ปดํฌ๋ํธ๋ ๊ฐ๊ฐ ๊ณ ์ ํ ๋ฐ์ดํฐ ์ ํจ ๋ฒ์๋ฅผ ๊ฐ์ง ์์์์ ํ์๋ก ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ค์ค -> props ํ์์์ ์์๋ก ์ด๋ฒคํธ๋ฅผ ์ฌ๋ ค์ค -> ์ด๋ฒคํธ ๋ฐ์
์ปดํฌ๋ํธ ํต์ ๊ท์น์ด ํ์ํ ์ด์
n๋ฐฉํฅ ํต์ ์์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ถ์ ํ๊ธฐ ์ด๋ ค์ ์ปดํฌ๋ํธ ํต์ ๊ท์น์์๋ ๋ฐ์ดํฐ๊ฐ ์์์ ์๋๋ก๋ง ๋ด๋ ค๊ฐ๊ณ ์๋์์ ์๋ก๋ ์ด๋ฒคํธ๋ง ์ฌ๋ ค์ค ๋ฐ์ดํฐ์ ์ด๋ฒคํธ๊ฐ ๋ค์ฃฝ๋ฐ์ฃฝ์ผ๋ก ๋์ง ์์
this
this๋ฅผ ์ฐ๋ฉด ํด๋น ๊ฐ์ฒด๋ฅผ ๋ณด๊ฒ ๋จ
data์ ์๋ ๊ฐ๋ค์ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ๊ณผ ๊ฐ์
Last updated