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

โญ Personal_Study97

Emit Event Emit Event Emit Event ๊ฐœ์š” โœ” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚จ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋ฒคํŠธ ๋ฆฌ์Šคํ„ฐ์˜ ์ฝœ๋ฐฑํ•จ์ˆ˜ ์ธ์ž๋กœ ์ „๋‹ฌ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” ํ•ด๋‹น ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์Œ Emit Event ๊ธฐ์ดˆ ... ํด๋ฆญ! This is my Component ํ๋ฆ„ ์ •๋ฆฌ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์— ์žˆ๋Š” ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ๋ฅผ ์ฒญ์ทจํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜(childToParent) ํ˜ธ์ถœ ํ˜ธ์ถœ๋œ ํ•จ์ˆ˜์—์„œ $emit์„ ํ†ตํ•ด ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์— ์ด๋ฒคํŠธ(child-to-parent) ๋ฐœ์ƒ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์ž์‹ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฐœ์ƒ์‹œํ‚จ ์ด๋ฒคํŠธ(child-to-parent)๋ฅผ ์ฒญ์ทจํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜(parentGetEvent) ํ˜ธ์ถœ Emit with Data ... ํด๋ฆญ! โœ” ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ(em.. 2022. 11. 13.
Pass Props Pass Props Data in components Data in components ๊ฐœ์š” โœ” ์™„์ „ํžˆ ๋™์ผํ•œ data๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ Component์—์„œ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ๋ฒ•?! โœ” ์ปดํฌ๋„ŒํŠธ๋Š” ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ฒŒ ์„ค์ •! โœ” ๋ฐ์ดํ„ฐ ํ๋ฆ„ ํŒŒ์•… ์šฉ์ด โœ” ์œ ์ง€ ๋ณด์ˆ˜ ์šฉ์ด pass props & emit event โœ” ๋ถ€๋ชจ -> ์ž์‹์œผ๋กœ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„ pass props โœ” ์ž์‹ -> ๋ถ€๋ชจ๋กœ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„ emit event Pass Props ๊ฐœ์š” โœ” ์š”์†Œ์˜ ์†์„ฑ(property)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ โœ” props๋Š” ๋ถ€๋ชจ(์ƒ์œ„) ์ปดํฌ๋„ŒํŠธ์˜ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ํŠน์„ฑ โœ” ์ž์‹(ํ•˜์œ„) ์ปดํฌ๋„ŒํŠธ๋Š” porps ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์‹ ํ•˜๋Š” props๋ฅผ ๋ช…์‹œ์ ์œผ.. 2022. 11. 12.
Vue Component Vue Component Vue Component ๊ตฌ์กฐ โœ” ํ…œํ”Œ๋ฆฟ(HTML) HTML์˜ body ๋ถ€๋ถ„ ๋ˆˆ์œผ๋กœ ๋ณด์—ฌ์ง€๋Š” ์š”์†Œ ์ž‘์„ฑ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋ฅผ html์š”์†Œ ์ฒ˜๋Ÿผ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ โœ” ์Šคํฌ๋ฆฝํŠธ(JavaScript) JavaScript ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜๋Š” ๊ณณ ์ปดํฌ๋„ŒํŠธ ์ •๋ณด, ๋ฐ์ดํ„ฐ, ๋ฉ”์„œ๋“œ ๋“ฑ vue ์ธ์Šคํ„ด์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์ด ์ž‘์„ฑ๋œ๋‹ค. โœ” ์Šคํƒ€์ผ(CSS) CSS๊ฐ€ ์ž‘์„ฑ๋˜๋ฉฐ ์ปดํฌ๋„ŒํŠธ์˜ ์Šคํƒ€์ผ์„ ๋‹ด๋‹น ๊ตฌ์กฐ ์ •๋ฆฌ โœ” ์ปดํฌ๋„ŒํŠธ๋“ค์ด tree ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ์–ด ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ ๋‹ค. โœ” root์— ํ•ด๋‹นํ•˜๋Š” ์ตœ์ƒ๋‹จ์˜ component๊ฐ€ App.vue โœ” ์ด App.vue๋ฅผ index.html๊ณผ ์—ฐ๊ฒฐ โœ” ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋งŒ๋“ค rendering -> SPA Vue component ์‹ค์Šต MyComponentj.vue // MyComp.. 2022. 11. 11.
SFC (Single File Component) SFC Component Component ๊ฐœ์š” โœ” UI๋ฅผ ๋…๋ฆฝ์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์กฐ๊ฐ๋“ค๋กœ ๋‚˜๋ˆˆ ๊ฒƒ ์ฆ‰ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ถ„ํ™”ํ•œ ์ฝ”๋“œ ์กฐ๊ฐ โœ” CS์—์„œ๋Š” ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์šฉ์„ฑ์„ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์˜๋ฏธ โœ” ํ•˜๋‚˜์˜ app์„ ๊ตฌ์„ฑํ•  ๋•Œ ์ค‘์ฒฉ๋œ ์ปดํฌ๋„ŒํŠธ๋“ค์˜ tree๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ณดํŽธ์ ! โœ” ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ด, ์žฌ์‚ฌ์šฉ์„ฑ ํ–ฅ์ƒ Component based architecture์˜ ํŠน์ง• โœ” ๊ด€๋ฆฌ ์šฉ์ด โœ” ์žฌ์‚ฌ์šฉ์„ฑ โœ” ํ™•์žฅ ๊ฐ€๋Šฅ โœ” ์บก์Šํ™” โœ” ๋…๋ฆฝ์  Component in Vue โœ” ์ด๋ฆ„์ด ์žˆ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Vue instance โœ” new Vue() SFC(Single File Component) โœ” ํ•˜๋‚˜์˜ .vueํŒŒ์ผ์ด ํ•˜๋‚˜์˜ Vue instace์ด๊ณ , ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ! โœ” Vue instan.. 2022. 11. 11.
Vue_CLI Vue CLI Node.js โœ” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์œ ์ผํ•œ ์–ธ์–ด -> ๋ธŒ๋ผ์šฐ์ € ๋ฐ–์—์„œ๋Š” ๊ตฌ๋™ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค! โœ” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ํ™˜๊ฒฝ์—์„œ๋„ ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ NPM (Node Package Manage) โœ” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž Vue CLI ๊ฐœ์š” โœ” Vue ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ‘œ์ค€ ๋„๊ตฌ โœ” ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์„ฑ์„ ๋„์™€์ฃผ๋Š” ์—ญํ•  โœ” ํ™•์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ, GUI, Bable ๋“ฑ ๋‹ค์–‘ํ•œ ํˆด ์ œ๊ณต Vue CLI ์‹œ์ž‘ํ•˜๊ธฐ ์„ค์น˜ $npm install -g @vue/cli ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ $vue create ํ”„๋ฆฌ์…‹ ์„ค์ • ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™ cd ์„œ๋ฒ„ ๊ฐ€๋™ npm run serve Vue CLI ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ node_modules โœ” node.js ํ™˜๊ฒฝ์˜ ์—ฌ๋Ÿฌ ์˜์กด์„ฑ ๋ชจ๋“ˆ โœ” python์˜ venv์™€.. 2022. 11. 9.
Vue: advanced attributes Vue Advanced Computed โœ” Vue instance ๊ฐ€ ๊ฐ€์ง„ option ์ค‘ ํ•˜๋‚˜ โœ” computed ๊ฐ์ฒด์— ์ •์˜๋œ ํ•จ์ˆ˜๋ฅผ ํŽ˜์ด์ง€๊ฐ€ ์ตœ์ดˆ๋กœ ๋ Œ๋”๋ง ๋  ๋•Œ ํ˜ธ์ถœํ•˜์—ฌ ๊ณ„์‚ฐ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ๋ณ€ํ•˜๊ธฐ ์ „๊นŒ์ง€ ํ•จ์ˆ˜๋ฅผ ์žฌํ˜ธ์ถœ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ method vs computed data_01 : {{ number1 }} data_02 : {{ number2 }} add_method : {{ add_method() }} add_method : {{ add_method() }} add_method : {{ add_method() }} add_computed : {{ add_computed }} add_computed : {{ add_computed }} add_computed : {{ add_c.. 2022. 11. 7.