๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (100)

๐Ÿ–ฅ dev-ruby

[Vue] #8 - ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก -> ์ž์‹์ด ๋ถ€๋ชจ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด?

1. $emit() : ๋ถ€๋ชจ์—๊ฒŒ ๋ฉ”์„ธ์ง€ ์ฃผ๊ธฐ ๋ถ€๋ชจ์ปดํฌ๋„ŒํŠธ์—์„œ ์“ด ์ž์‹ํƒœ๊ทธ์— @click๋„ฃ์–ด์ฃผ๊ธฐ -> but, ์ž์‹์˜ ์–ด๋”œ ๋ˆŒ๋Ÿฌ๋„ click์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ž„ ==> ์ž์‹์ปดํฌ๋„ŒํŠธ ์•ˆ์˜ ํƒœ๊ทธ์— @click="$emit('์ž‘๋ช…๋ฐ์ดํ„ฐ', ์š”์ฒญ๋ฐ์ดํ„ฐ)" ํด๋ฆญํ•˜๋ฉด ๋ถ€๋ชจ์—๊ฒŒ ๋ฉ”์„ธ์ง€๊ฐ€ ๊ฐ„๋‹ค 2. @๋ฐ์ดํ„ฐ="" : ๋ถ€๋ชจ๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›๋Š”๋ฒ• ํ•˜๋ฉด ์ž์‹์—๊ฒŒ ๋ชจ๋‹ฌ์ฐฝ์—ด๋ ธ๋‹ˆ=true ๋ฉ”์„ธ์ง€๊ฐ€ ์ „์†ก๋œ๋‹ค 3. $event : ๋ถ€๋ชจ๊ฐ€ ์ž์‹์ด ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ์“ฐ๋Š” ๋ฒ• @openModal="๋ชจ๋‹ฌ์ฐฝ์—ด๋ ธ๋‹ˆ=true; clicked=$event" ์ž์‹์—์„œ ๋ณด๋‚ธ '์š”์ฒญํ•œ๋ฐ์ดํ„ฐ'๊ฐ€ clicked๋กœ ์ „๋‹ฌ๋ผ์„œ openModal์„ ํ†ตํ•ด ๋‹ค์‹œ ์ž์‹ํ•œํ…Œ ๋ณด๋‚ด์ค€๋‹ค. 3-1. $emit์„ ํ•จ์ˆ˜ ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด methods : { ํ•จ์ˆ˜(){ this.$e..

Vue 2021. 8. 6. 11:17
[Vue] #7 - ์ปดํฌ๋„ŒํŠธ

1. ๋‹ค๋ฅธ vueํŒŒ์ผ importํ•ด์˜ค๊ธฐ vueํŒŒ์ผ ๋งŒ๋“ค์–ด์„œ HTML๋งŒ๋“ค๊ธฐ ์›ํ•˜๋Š” ๊ณณ์˜ scriptํƒœ๊ทธ ์‚ฌ์ด์— import ์ด๋ฆ„ from '๊ฒฝ๋กœ'; export default์•ˆ์˜ component์— ์“ธ ์ด๋ฆ„: ๊ฐ€์ ธ์˜จ ์ด๋ฆ„ => DC : Discount or ๊ฐ™์€์ด๋ฆ„ ์“ธ๊ฑฐ๋ฉด ์ด๋ฆ„ ํ•˜๋‚˜๋งŒ ์ ์–ด๋„๋จ => Discount ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ 2. props : ๋ถ€๋ชจ๊ฐ€ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ  ์‹ถ์„ ๋•Œ App.vue์— ์“ฐ์ธ ๋Š” App์˜ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์ž„ props๋กœ ์ž์‹์—๊ฒŒ ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๋Š” ๋ฒ• 1. ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ‘์— ๋ฐ์ดํ„ฐ ๊ณจ๋ผ์„œ ๋ณด๋‚ด๊ธฐ or => :์ž‘๋ช…๋ฐ์ดํ„ฐ="๋ณด๋‚ผ๋ฐ์ดํ„ฐ" :์ž‘๋ช…๋ฐ์ดํ„ฐ2="๋ณด๋‚ผ๋ฐ์ดํ„ฐ2" ์—ฌ๋Ÿฌ๊ฐœ ๋‚˜์—ด ๊ฐ€๋Šฅ 2. ์ž์‹์€ props๋กœ ๋ฐ›์€ ๋ฐ์ดํ„ฐ ๋“ฑ๋ก props : { ์ž‘๋ช…ํ•œ ๋ฐ์ดํ„ฐ : ์ž๋ฃŒํ˜•์ด..

Vue 2021. 8. 6. 11:16