Vue
[Vue] #8 - ์์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ ์ ์ก -> ์์์ด ๋ถ๋ชจ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด?
ruby_s
2021. 8. 6. 11:17
728x90
๋ฐ์ํ
SMALL
1. $emit() : ๋ถ๋ชจ์๊ฒ ๋ฉ์ธ์ง ์ฃผ๊ธฐ
๋ถ๋ชจ์ปดํฌ๋ํธ์์ ์ด ์์ํ๊ทธ์ @click๋ฃ์ด์ฃผ๊ธฐ -> but, ์์์ ์ด๋ ๋๋ฌ๋ click์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๊ฒ์
@click="$emit('์๋ช ๋ฐ์ดํฐ', ์์ฒญ๋ฐ์ดํฐ)"
==> ์์์ปดํฌ๋ํธ ์์ ํ๊ทธ์ํด๋ฆญํ๋ฉด ๋ถ๋ชจ์๊ฒ ๋ฉ์ธ์ง๊ฐ ๊ฐ๋ค
2. @๋ฐ์ดํฐ="" : ๋ถ๋ชจ๊ฐ ๋ฉ์ธ์ง๋ฅผ ๋ฐ๋๋ฒ
<Card @๋ฐ์์๋ช ๋ฐ์ดํฐ=" ์ด์์ js ์๋ฌด๊ฑฐ๋ ์ ์ ์ ์์ " /> <Card @openModal="๋ชจ๋ฌ์ฐฝ์ด๋ ธ๋=true" /> ํ๋ฉด ์์์๊ฒ ๋ชจ๋ฌ์ฐฝ์ด๋ ธ๋=true ๋ฉ์ธ์ง๊ฐ ์ ์ก๋๋ค
3. $event : ๋ถ๋ชจ๊ฐ ์์์ด ๋ณด๋ธ ๋ฐ์ดํฐ ์ฐ๋ ๋ฒ
@openModal="๋ชจ๋ฌ์ฐฝ์ด๋ ธ๋=true; clicked=$event"์์์์ ๋ณด๋ธ '์์ฒญํ๋ฐ์ดํฐ'๊ฐ clicked๋ก ์ ๋ฌ๋ผ์ openModal์ ํตํด ๋ค์ ์์ํํ ๋ณด๋ด์ค๋ค.
3-1. $emit์ ํจ์ ์์์ ์ฌ์ฉํ๊ณ ์ถ์ผ๋ฉด
methods : { ํจ์(){ this.$emit('openModal', this.์๋ฃธ.id) } //๋ฐ์ดํฐ๋ฅผ ํจ์์์์ ์ฐธ์กฐํ ๋๋ this ํ์! }
728x90
๋ฐ์ํ
LIST