๐ธVue.js ํน์ง
SPA
- ํ๋์ ํ์ด์ง๋ก ๋์ํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์
Single Page Aplication์ผ๋ก ํ ํ์ด์ง ๋ด์์ ๋ชจ๋ ์ปจํ ์ธ ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ด๋ค. ์ด ๋ฐฉ์์ ์ฐ๋ฉด ์ฌ์ฉ์ ํธ์์ฑ์ด ์ฆ๊ฐํ๋ค. ๋น ๋ฅด๊ฒ ํ๋ฉด์ด ์ ํ๋๋ ๋๋์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ผํ๋ชฐ ๋ฑ์ ์ฌ์ดํธ์์ ๊ตฌ๋งค์จ์ด ์ฆ๊ฐํ๋ ๊ฒฝํฅ์ด ์๋ค.
- ๊ธฐ์กด ๋ฐฉ์
๊ธฐ์กด ๋ฐฉ์์ ์น ํ์ด์ง์์ ์ฌ์ฉ์๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ฉด ์ด๋ฅผ ์๋ฒ์ ์ ๋ฌํ๊ณ , ์๋ฒ์์ ์ฒ๋ฆฌํ ๋ก์ง ๊ฒฐ๊ณผ๋ฅผ ์น์ ์ ๋ฌํ๋ฉด ์๋กญ๊ฒ ๋๋๋ง ๋๋ ๋ฐฉ์์ด๋ค.
- SPA
SPA๋ ์น์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ด๋ฅผ Vue๋ก ์ ๋ฌํ๊ณ , ๋ฐ์ดํฐ๋ฅผ Vue์์ ์ฒ๋ฆฌํ ๋ค ๋ค์ ๋๋๋ง ํ๋ ๋ฐฉ์์ด๋ค. ์ด ๋ฐฉ์์ ์๋ฒ๊ฐ ์ ๋ง ํ์ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์๋ง ์ง์คํ ์ ์๋ ์ฅ์ ์ด ์๋ค. ๋ํ ํ๋ก ํธ์์ ์ฌ์ฉ์ ํ๊ฒฝ์ด ๋งค๋๋ฌ์์ง๋ค.
SPA ์ฅ์
- ์์ฐ์ค๋ฌ์ด ์น ํ์ด์ง ๋ณ๊ฒฝ
- ์๋ฒ์ ํ๋ก ํธ์๋ ์ญํ ๋ถ๋ด ๋ช ํ
- ๋ค์ดํฐ๋ธ ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋์ฒด ๊ฐ๋ฅ
Simple
์ ๋ฌธ์๋ ์ฝ๊ฒ ์น ํ์ด์ง์ ์ธํฐ๋ํฐ๋ธํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ฉฐ ๋ฐฐ์ฐ๊ณ ์ฝ๊ณ , ๊ฐ๋ฒผ์ด ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฉ์ดํจ
MVVM
Vue๋ Model-View-ViewModel ๋ฐฉ์์ผ๋ก ๋ง๋ค์ด์ ธ ์๋ค. ์ด๋ Model(Vue ์์ ๋ฐ์ดํฐ)๊ณผ View(HTML ์์) ์ฌ์ด์์ ViewModel(View์ Model์ ์ด๋ป๊ฒ ์ฐ๊ฒฐํ ๊น)๋ก ๋๋์ด ์๊ฐํ๋ ๋ฐฉ์์ด๋ค.
MVVM๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ 3๋จ๊ณ ํ๋ฆ์ ํ์ ํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ฐ์ดํฐ๋ ๋ฌด์์ธ๊ฐ? (Model)
- ํ์๋๋ ์์๋ ๋ฌด์์ธ๊ฐ? (View)
- ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋๊ฐ? (ViewModel)
MVCํจํด
- Model : Data์ ๊ด๋ จ๋ ๋ก์ง ๋ด๋น
- View: ์ฌ์ฉ์์๊ฒ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ์ญํ
- Control: View์ Model ์ฌ์ด์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ
Vue ์์ฑ ์์
- ๋ฐ์ดํฐ ๋ง๋ค๊ธฐ
- ํ์ํ ์์ ์ค๋น
- ์ฐ๊ฒฐํ๊ธฐ
์ฃผ์ ๊ธฐ๋ฅ ๋ฆฌ์คํธ
- {{ ๋ฐ์ดํฐ }} : ๋ฐ์ดํฐ ํ์
- v-bind : ์์์ ์์ฑ์ ๋ฐ์ดํฐ๋ก ์ง์
- v-model : ์ ๋ ฅํผ๊ณผ ๋ฐ์ดํฐ ์ฐ๊ฒฐ
- v-on : ์ด๋ฒคํธ ์ฐ๊ฒฐ
- v-if : ์กฐ๊ฑด์ ๋ฐ๋ผ ํ์
- computed : ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๊ณ์ฐ
- watch : ๋ฐ์ดํฐ ๋ณํ ๊ฐ์
- transition : ํ์/๋นํ์์ ์ ๋๋ฉ์ด์ ์ฒ๋ฆฌ
- component : ์ปดํฌ๋ํธ ์กฐ๋ฆฝ
์ฐธ๊ณ ์์ ) Vue.js ์ ๋ฌธ - Yoshinao Mori ์ , ์ ๋ํธ ์ฎ๊น
'Web > Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Vue .js ๊ธฐ๋ณธ ๋ฌธ๋ฒ ํ ๋ฒ์ ์ ๋ฆฌํ๊ธฐ (0) | 2021.05.22 |
---|