javascript42 [Vue.js] ์ฑ๊ธ ํ์ผ ์ปดํฌ๋ํธ์์ props ์์ฑ ์ด์ฉ App.vue app AppHeader .vue {{ propsdata }} reference: https://www.inflearn.com/course/lecture?courseSlug=age-of-vuejs&unitId=21465&tab=curriculum ํ์ต ํ์ด์ง www.inflearn.com IT/development 2023. 7. 29. [Vue.js] ์ฑ๊ธ ํ์ผ ์ปดํฌ๋ํธ์์ ์ปดํฌ๋ํธ ์ฌ์ฉ ํ์ ์ปดํฌ๋ํธ import ํ ์ฌ์ฉ App.vue app AppHeader.vue Welcome to My App reference: https://www.inflearn.com/course/lecture?courseSlug=age-of-vuejs&unitId=21464&tab=curriculum ํ์ต ํ์ด์ง www.inflearn.com 2023.07.29 - [IT/development] - [Vue.js] ์ฑ๊ธ ํ์ผ ์ปดํฌ๋ํธ์์ props ์์ฑ ์ด์ฉ [Vue.js] ์ฑ๊ธ ํ์ผ ์ปดํฌ๋ํธ์์ props ์์ฑ ์ด์ฉ App.vue app AppHeader .vue {{ propsdata }} yaga.tistory.com 2023.07.29 - [IT/development] - [Vue.js] ์ฑ๊ธ ํ์ผ .. IT/development 2023. 7. 29. [Vue.js] Vue CLI(Command Line Interface) ๋ชฉ์ฐจ ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ฅผ ํตํด Vue.js ๊ฐ๋ฐํ๊ฒฝ์ ๋ ์ฝ๊ฒ ํด์ฃผ๋ ๋๊ตฌ๋ผ๊ณ ๋ณด๋ฉด ๋๊ณ ์๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์๋ฐ๋ก ๋ฐ์ง๋ฉด ๋ ๊ฑฐ์ ์คํ๋ง์ ์ฌ์ฉํ๋ค ์คํ๋ง๋ถํธ๋ฅผ ๋ง๋ ๊ธฐ๋ถ์ธ ๋ฏ ํ๋ก์ ํธ ์์ฑ ๊ฐ๋ฐ์๋ฒ ์คํ ํ๋ก๋์ ๋น๋ ์ถ๊ฐ ํ๋ฌ๊ทธ์ธ ์ค์น vue.js์ ๊ธฐ๋ณธ ์ค์ ๋ฐ ๊ตฌ์ฑ์ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์๋ ์ค์ ํ์ผ๊ณผ ์ต์ ์ ๊ณต โป ์ฌ์ ์ npm ์ต์ ๋ฒ์ (LTS ๊ถ์ฅ) ์ค์น ๋์ด ์์ด์ผ ํจ ์ค์น(npm ๋๋ yarn์ผ๋ก ์ค์น) ๐ npm install -g @vue/cli # OR yarn global add @vue/cli vue project ์์ฑ ๐ vue create my-project#(์์ฑํ ํ๋ก์ ํธ ๋ช ) # OR vue ui vue project๋ฅผ ์์ฑํ ๊ฒฝ๋ก๋ก ์ด๋ ํ ๋ช ๋ น์ด ์ ๋ ฅ ์ ํ๋ฆฌ์ ์.. IT/development 2023. 7. 29. [Vue.js] ๋ทฐ ๋๋ ํฐ๋ธ(v-๋ก ์์ํ๋ ์์ฑ๋ค์ ์๋ฏธ) ๋ชฉ์ฐจ v-bind(:์ฝ๋ก ๋ฐ์ธ๋ฉ์ผ๋ก ์ค์ ๊ฐ๋ฅ) {{ num }} ๊ฒฐ๊ณผ v-if(์กฐ๊ฑด๋ฌธ) ๊ด๋ฆฌ์ ์ฌ์ฉ์ ๊ทธ ์ธ new Vue({ el: '#app', data: { auth: '๊ด๋ฆฌ์', } }) ๊ฒฐ๊ณผ ๊ฐ๋ฐ์ vue๋๊ตฌ์์ data ๋ณ๊ฒฝ ์ ๋ฐ์ดํฐ๋ ๋ณ๊ฒฝ๋จ v-show(show, hide) ๊ด๋ฆฌ์ ์ฌ์ฉ์ ๊ทธ ์ธ ๊ด๋ฆฌ์ js์ฝ๋๋ ์์ ๋์ผ ๊ฒฐ๊ณผ v-model(:์ฝ๋ก ๋ฐ์ธ๋ฉ์ผ๋ก ์ค์ ๊ฐ๋ฅ)(๋ฐ์ดํฐ ๋๊ธฐํ) {{ userName }} new Vue({ el: '#app', data: { userName: '', } }) //์๋์ฒ๋ผ javascript๋ jQuery๋ฅผ ์ฌ์ฉํด์ dom์ ์ ๊ทผํด์ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ //let userName = $("#userName").val(); //let userName.. IT/development 2023. 7. 27. [Vue.js] ajax api ํธ์ถ(feat. axios) get users {{ users }} ๊ฒฐ๊ณผ IT/development 2023. 7. 27. [Vue.js] event emit(์์ → ๋ถ๋ชจ) ํ์(์์)์ปดํฌ๋ํธ์์ ์์(๋ถ๋ชจ) ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ ์ ๋ฌ ์ ์ฌ์ฉํ๋ ์์ฑ //ํ์์ปดํฌ๋ํธ์ธ app-header์ click ์ด๋ฒคํธ(v-on:click์ @click์ผ๋ก ํํ ๊ฐ๋ฅ)๋ฅผ ์ค์ let appHeader = { template: 'click me', //methods ์์ฑ์ ๋ฆฌ๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์์ฑ ํ this.$emit('์ด๋ฒคํธ๋ช ')์ผ๋ก ์ด๋ฒคํธ ๋ฐ์ ์ํด //ํด๋น ์ด๋ฒคํธ๋ ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ๊ฐ์งํด์ ์ฒ๋ฆฌ ๊ฐ๋ฅ methods: { passEvent: function() { this.$emit('pass'); } }, } new Vue({ el: '#app', components: { 'app-header': appHeader, }, }) ๊ฒฐ๊ณผ ๋ฒํผ ํด๋ฆญ ์ pass๋ผ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ ๊ฒ ํ์ธ.. IT/development 2023. 7. 26. [Vue.js] Props(๋ถ๋ชจ -> ์์) Vue.js์์ ์์(๋ถ๋ชจ)์ปดํฌ๋ํธ์์ ํ์(์์) ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ ์์ฑ const appHeader = { template: 'Header', props: ['propsdata'] } new Vue({ el: '#app', components: { 'app-header': appHeader, }, //์ ๋ฌํ๋ ค๋ ๋ฐ์ดํฐ data: { message: '๋ถ๋ชจ ์ปดํฌ๋ํธ์ ๋ฉ์์ง', name: '์์ด์ธ๋งจ', } }) ๊ฒฐ๊ณผ data ํค๊ฐ ๋ณ๊ฒฝ ์ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๊ฐ ์์ ์ปดํฌ๋ํธ์๋ ํ์๋จ Root ์ปดํฌ๋ํธ์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ ์ props๋ก ๋ด๋ ค๋ฐ์ ์์ ์ปดํฌ๋ํธ์ ๋ฐ์ดํฐ์๋ ์ ์ฉ๋จ(reactivity) ํ์ ์ปดํฌ๋ํธ ์ถ๊ฐ ํ ์๋ก์ด props ์ ๋ฌ //appContent๋ผ๋ ํ์ ์ปดํฌ๋ํธ ๋ด.. IT/development 2023. 7. 26. [Vue.js] ์ปดํฌ๋ํธ(์ฌ์ฌ์ฉ ์ ์ฉ) ๋ชฉ์ฐจ ์ปดํฌ๋ํธ ๋ฑ๋ก ์ ์ญ ์ปดํฌ๋ํธ ๋ฑ๋ก(ํ๋ฌ๊ทธ์ธ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ์ฌ์ฉ ์) Vue.component('app-header', { template: ' {{ message }} ๊ฒฐ๊ณผ Root ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ์ด๋ฃธ image source: https://v2.ko.vuejs.org/v2/guide/components.html ์ปดํฌ๋ํธ — Vue.js Vue.js - ํ๋ก๊ทธ๋ ์๋ธ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ v2.ko.vuejs.org ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ๋ก๋ props ์์ฑ์ผ๋ก ๋ฐ์ดํฐ ์ ๋ฌ ์์ ์ปดํฌ๋ํธ์์ ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก๋ event๋ก ๋ฐ์ดํฐ ์ ๋ฌ ํต์ ๊ท์น์ด ์์ผ๋ฉด ๋ฐ์ดํฐ ํ๋ฆ ์ถ์ ์ด ์ฉ์ดํจ reference: https://www.inflearn.com/course/age-of.. IT/development 2023. 7. 26. [Vue.js] ์ธ์คํด์ค์ ์์ฑ์ ์ธ์คํด์ค ๋ทฐ ์ธ์คํด์ค๋ ๋ทฐ ๊ฐ๋ฐ ์ ํ์๋ก ์์ฑํด์ผ ํ๋ ์ฝ๋ {{ message }} console.log(vm)์ ์ฐํ vue ์ธ์คํด์ค์ ์์ฑ๊ณผ API๋ค new Vue({…})๋ก ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ์ธ์คํด์ค์ ๋ฏธ๋ฆฌ ์ ์๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉ ํฌ๋กฌ ํ์ฅํ๋ก๊ทธ๋จ(Vue.js devtools) ์ค์น ์ ๋ธ๋ผ์ฐ์ ์์ Vue ๊ฐ๋ฐ์ ๋ ํจ์จ์ ์ผ๋ก ํ ์ ์์ ์ธ์คํด์ค๋ฅผ div์ ๋ถ์ด๋ฉด ์ธ์คํด์ค๋ฅผ ์ ์ฉํ ์๋ฆฌ๋จผํธ๋ Root ์ปดํฌ๋ํธ๊ฐ ๋จ ์์ฑ์ ํจ์ ์ผ๋ฐํจ์์ ๊ตฌ๋ถํ๊ธฐ ์ํด ํจ์๋ช ์์ด ๋๋ฌธ์๋ก ๋์ด ์๊ณ new ์ฐ์ฐ์๋ฅผ ํตํด ์ธ์คํด์ค๋ฅผ ์์ฑ ์์ฑ์ ํจ์์ ์์ฑ, ๊ธฐ๋ฅ๋ค์ ๋ฏธ๋ฆฌ ์ ์ํด ๋๊ณ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด์ ๋ฏธ๋ฆฌ ์ ์๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ ์ฌ์ฉ reference: https://www.inflearn.com/cour.. IT/development 2023. 7. 26. [JavaScript] ๋๋ฑ์ฐ์ฐ์(==, !=)์ ์ผ์น์ฐ์ฐ์(===, !==) ๋๋ฑ์ฐ์ฐ์์ ์ผ์น์ฐ์ฐ์์ ์ฐจ์ด ๊ฐ๋จํ ํ ์คํธ ๐ JavaScript์์ ๋๋ฑ์ฐ์ฐ์(==, !=)๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋์ผ๋ก ํ๋ณํ์ ํด์ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ง ๋ง์ผ๋ฉด ๋ง๋ค๊ณ ํ๊ณ ์ผ์น์ฐ์ฐ์(===, !==)๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ฐ๊ณผ ํ์ ๊น์ง ๋น๊ต๋ฅผ ํ๋ค. ๋์์์ ๋ณด๋ฉด ๋ณ์ one์๋ ์ ์ 1์ด ๋ค์ด ์๊ณ ๋ณ์ two์๋ ๋ฌธ์์ด '1'์ด ๋ค์ด ์๋๋ฐ ==๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ true๊ฐ ๋์ค๊ณ ===์ธ ๊ฒฝ์ฐ๋ false๊ฐ return๋๋๊ฒ ํ์ธ ๋์๋ค. ์ ํํ ๋น๊ต๋ฅผ ์ํด์ ์ผ์น์ฐ์ฐ์๋ฅผ ์ฐ๋๋ก ํ์.(๋น๊ต ์ฐ์ฐ์ ๋๋ฌธ์ ์ฝ์งํ ๋ฏธ๋์ ๋์๊ฒ ํ๋ ๋ง) IT/development 2023. 7. 24. ์ด์ 1 2 3 4 5 ๋ค์