TIL/Vue.js

ํ‡ด๊ทผํ•˜๊ณ  ๊ฐ•์˜ ๋“ฃ๋Š” ๊ฑฐ.. ์‰ฝ์ง€ ์•Š๋‹ค ํœด vue ์ด๋ฒคํŠธํ•ธ๋“ค๋Ÿฌ ์ด ์ „๊นŒ์ง€ ๋งŒ๋“ค์—ˆ๋˜ ํŽ˜์ด์ง€์— ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” onclick="" ์ด๋ผ๋Š” ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ HTMLํƒœ๊ทธ์— ๋‹ฌ์•˜์ง€๋งŒ Vue์—์„œ๋Š” v-on:click="" ์ด๋ผ๊ณ  ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋Š” ๋” ๊ฐ„๋‹จํžˆ v-on: ์„ @๋กœ ๋ฐ”๊ฟ”์“ธ ์ˆ˜ ์žˆ์–ด ๊ฒฐ๊ตญ @click ๋งŒ ์“ฐ๋ฉด ๋œ๋‹ค. script์— count ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ , ํ—ˆ์œ„๋งค๋ฌผ์‹ ๊ณ  ์‹ ๊ณ ์ˆ˜ : {count} ์ด๋Ÿฐ์‹์œผ๋กœ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋„ ์žˆ๋Š”๋ฐ, @mouseover ํ•˜๋ฉด ํด๋ฆญ์ด ์•„๋‹ˆ๋ผ ๋งˆ์šฐ์Šค๋งŒ ๋Œ”์„ ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰๊ฐ€๋Šฅํ•˜๊ณ  @input ํ•˜๋ฉด ์ธํ’‹์— ๊ฐ’์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰๊ฐ€๋Šฅํ•˜๊ณ  ๋“ฑ๋“ฑ์˜ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ๋‹ค. ๊ทธ๋•Œ๊ทธ๋•Œ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ฐพ..
vue๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์ด ์ ์  ๋งŽ์•„์ ธ์„œ, ๋ฆฌ์•กํŠธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ vue๋„ ๊ธฐ๋ณธ์€ ์•Œ์•„์•ผํ•˜์ง€ ์•Š๋‚˜ ์‹ถ์–ด์„œ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. vue ์˜ ์žฅ์  1. vue๋Š” ์›น ์•ฑ ๊ฐœ๋ฐœํˆด React, Angular ์ค‘์—์„œ ๊ฐ€์žฅ ์‰ฝ๋‹ค. ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด ํ•œ ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์šฉ์ดํ•˜๋‹ค. 2. ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹๋„ ๋‹ค์–‘ํ•˜์ง€ ์•Š์•„ ํ˜‘์—… ์‹œ์— ์Šคํƒ€์ผ ํ†ต์ผ์ด ์šฉ์ดํ•˜๋‹ค. ๋ฆฌ์•กํŠธ๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฐฉ์‹์ด ๋งค์šฐ ๋‹ค์–‘ํ•œ๋ฐ vue๋Š” ๋”ฑ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 3. HTML ๋ Œ๋”๋งํ•˜๋Š” ์‹œ๊ฐ„์ด ๋น ๋ฅด๋‹ค. 4. ๊พธ์ค€ํžˆ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๋ฐ ์‹คํ–‰ npm install -g @vue/cli vue create ์ƒ์„ฑํ•  ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ npm run serve ๊ธฐ๋ณธ ๊ตฌ์กฐ App.vue ํ™”๋ฉด์„ ๋ Œ๋”๋ง ํ•˜๋Š” template ๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ {{ produc..
Dong _ hwa
'TIL/Vue.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก