โญ Personal_Study/Vue23 Lifecycle Hooks Lifecycle Hooks ๊ฐ์ โ ๊ฐ Vue ์ธ์คํด์ค๋ ์์ฑ๊ณผ ์๋ฉธ์ ๊ณผ์ ์ค ๋จ๊ณ๋ณ ์ด๊ธฐํ ๊ณผ์ ์ ๊ฑฐ์นจ Vue ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๊ฒฝ์ฐ, ์ธ์คํด์ค DOM์ ๋ง์ดํธํ๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์ด DOM์ ์ ๋ฐ์ดํธ ํ๋ ๊ฒฝ์ฐ ๋ฑ โ ๊ฐ ๋จ๊ณ๊ฐ ํธ๋ฆฌ๊ฑฐ๊ฐ ๋์ด ํน์ ๋ก์ง์ ์คํํ ์ ์์ โ ์ด๋ฅผ lifecycle hook์ด๋ผ ํ๋ค Lifecycle Hooks created โ Vue instance๊ฐ ์์ฑ๋ ํ ํธ์ถ๋จ โ data, computed๋ฑ์ ์ค์ ์ด ์๋ฃ๋ ์ํ โ ์๋ฒ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ vue instance์ data์ ํ ๋นํ๋ ๋ก์ง์ ๊ตฌํํ๊ธฐ์ ์ ํฉ โ ๋จ, mount๋์ง ์์ ์์์ ์ ๊ทผํ ์ ์์ export default { ... created() { this.getDogImage() .. 2022. 11. 14. Vuex Vuex State Management State Management(์ํ ๊ด๋ฆฌ) ๊ฐ์ โ ์ํ(state): ํ์ฌ์ ๋ํ ์ ๋ณด(data) โ Web Application์ ์ํ: ํ์ฌ App์ด ๊ฐ์ง๊ณ ์๋ data โ ๊ฐ component๋ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ์ ์ํ(data๋ฅผ ๊ฐ์ง๋ค) โ ํ์ง๋ง ๊ฒฐ๊ตญ component๋ค์ด ๋ชจ์ฌ ํ๋์ App์ ๊ตฌ์ฑํ๋ฏ๋ก ์ฌ๋ฌ ๊ฐ์ component๊ฐ ๊ฐ์ ์ํ(data)๋ฅผ ์ ์งํด์ผ ํ๋ค! Pass Props & Emit Event โ ๋ฐ์ดํฐ์ ํ๋ฆ์ ์ง๊ด์ ์ผ๋ก ํ์ ๊ฐ๋ฅํ๋ค โ ๊ทธ๋ฌ๋ component์ ์ค์ฒฉ์ด ๊น์ด์ง๋ฉด ๋ฐ์ดํฐ์ ์ ๋ฌ์ด ์ด๋ ค์์ง๋ค๋ ๋จ์ Centralized Store โ ์ค์ ์ ์ฅ์(store)์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ ์ํ ๊ด๋ฆฌ โ component์.. 2022. 11. 14. 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. ์ด์ 1 2 3 4 ๋ค์