Instance Component

์ธํ”„๋Ÿฐ Vue.js ์‹œ์ž‘ํ•˜๊ธฐ - Age of Vue / ์žฅ๊ธฐํšจ(์บกํ‹ดํŒ๊ต)

Vue๋ž€?

MVVM ํŒจํ„ด์˜ ๋ทฐ๋ชจ๋ธ(ViewModel) ๋ ˆ์ด์–ด์— ํ•ด๋‹นํ•˜๋Š” ํ™”๋ฉด(View)๋‹จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • DOM Listeners

  • Data Bindings

MVVM ํŒจํ„ด*

Model - View - ViewModel Pattern

  1. View(UI)

  2. Model(UI์ƒ์— ๋ณด์—ฌ์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ)

  3. Glue code(ํ•ธ๋“ค๋ง๊ณผ ๋ฐ”์ธ๋”ฉ ๊ทธ๋ฆฌ๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง)

MVVM ํŒจํ„ด-๋ธ”๋ž™์ง„๋‹˜ ๋ธ”๋กœ๊ทธ

์ฆ‰์‹œ์‹คํ–‰ํ•จ์ˆ˜ IIFE

์ฆ‰์‹œ ์‹คํ–‰๋˜์–ด ๊ฐ’์œผ๋กœ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š” ํ•จ์ˆ˜

IIFE - MDN

Vue์˜ reactivity(๋ฐ˜์‘์„ฑ)

๋ฐ˜์‘์„ฑ์ด๋ž€? '๋ณ€๊ฒฝ'์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์„ ์–ธ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

  • vue๋Š” ๋น„๊ฐ„์„ญ์ ์ธ ๋ฐ˜์‘์„ฑ ์‹œ์Šคํ…œ

  • vue์—์„œ ๋ชจ๋ธ์€ ํ”„๋ก์‹œ๋กœ ๊ฐ์‹ธ์ง„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ ๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ํ™”๋ฉด์ด ๋ฐ”๋€œ

Vue.js - reactivity

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์— ์žˆ๋Š” ๊ฐ’๋“ค์€ ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ

this - w3schools

Last updated