๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปWEB FrontEnd/ํ”„๋ ˆ์ž„์›Œํฌ Vue

vue์˜ ๋ฐ˜์‘์„ฑ reactivity

<Do it! Vue.js ์ž…๋ฌธ>์„ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

๋ชฉ์ฐจ

  • 1. ๋ฐ˜์‘์„ฑ

  • 1-1) vue๊ฐ€ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•

 


1. ๋ฐ˜์‘์„ฑ

vue๊ฐ€ ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ ํ™”๋ฉด์„ ๋‹ค์‹œ ๊ฐฑ์‹ ํ•˜๋Š” ํŠน์„ฑ

๋ฐ˜์‘์„ฑ์— ๋Œ€ํ•ด ์•Œ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•๋“ค์„ ์ตํž ์ˆ˜ ์žˆ๋‹ค!

  • ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๋ถ€์ ์œผ๋กœ ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
  • ๊ฐ€์ƒ ๋”์ด ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ํ™”๋ฉด์„ ๋น ๋ฅด๊ฒŒ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์— ๋ถ€ํ•˜๋ฅผ ์ฃผ์ง€ ์•Š๊ณ  ๋”์„ ์ถ”๊ฐ€,์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•

 

 

1-1) vue๊ฐ€ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. Vue ์ธ์Šคํ„ด์Šค์— JavaScript ๊ฐ์ฒด๋ฅผ data ์˜ต์…˜์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.
  2. Vue๋Š” ๋ชจ๋“  ์†์„ฑ์— Object.defineProperty๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ getter/setters๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
    โ€ป getter / setter ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ณด์ด์ง€ ์•Š์œผ๋‚˜ ์†์„ฑ์— ์•ก์„ธ์Šค ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ Vue๊ฐ€ ์ข…์†์„ฑ ์ถ”์  ๋ฐ ๋ณ€๊ฒฝ ์•Œ๋ฆผ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 
  3. ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ ์ธ์Šคํ„ด์Šค์—๋Š” ํ•ด๋‹น watcher ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด ์ธ์Šคํ„ด์Šค๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ข…์†์ ์œผ๋กœ ๋ Œ๋”๋ง๋˜๋Š” ๋™์•ˆ ์ˆ˜์ •๋œ ๋ชจ๋“  ์†์„ฑ์„ ๊ธฐ๋กํ•œ๋‹ค.
  4. ๋‚˜์ค‘์— ์ข…์†์ ์ธ setter๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ ๋˜๋ฉด watcher์— ์•Œ๋ฆฌ๊ณ  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง ๋œ๋‹ค.

 

 

 

 

'๐Ÿ’ปWEB FrontEnd > ํ”„๋ ˆ์ž„์›Œํฌ Vue' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

v-model ๋ฐ”์ธ๋”ฉ  (0) 2021.02.25
CSR์™€ SSR์˜ ์žฅ๋‹จ์   (0) 2021.02.08
Vuex  (0) 2021.02.06
Single File Components ์ฒด๊ณ„  (0) 2021.02.06
Vue์˜ template์†์„ฑ  (0) 2020.07.04