Language/Vue.js
[Vue] 모달창 안에 상세페이지 만들기
JJcoding
2024. 5. 4. 21:18
현재 상태는 제목을 누르면 모달창이 켜지고, 모달창 안 상세페이지가 모두 같은 상황
여기에 상세 페이지를 다르게 적용해보자.
data() {
return {
누름 : 0,
원룸들 : data,
modalOpen : false,
신고수 : [0,0,0],
메뉴들 : ['Home', 'Shop', 'About'],
products : ['역삼동원룸', '천호동원룸', '마포구원룸']
}
},
--> 먼저 '누름' 데이터 생성한다. (각 항목에 해당하는 상세 페이지가 떠야해서 데이터부터 생성함)
--> 원룸들 : data < 여기에 이미 상세페이지 안에 들어갈 데이터는 모두 있다. (지난 포스팅 참고)
그리고 위로 올라가서
<div v-for="(product,i) in 원룸들" :key="i">
<img :src="product.image" class="room-img">
<h4 @click="modalOpen = true; 누름 = i">{{ product.title }}</h4>
<p>{{ product.price }}원</p>
</div>
--> 제목을 클릭했을 때 모달창이 열림과 동시에 '누름' 데이터가 정수 i로 바뀌게 설정한다.
v-for에 의해 반복문으로 돌기 때문에 2번째 제목을 누르면 누름=2, 3번째 제목을 누르면 누름=3이 되는 것
마지막으로
<div class="black-bg" v-if="modalOpen == true">
<div class="white-bg">
<h4>{{ 원룸들[누름].title }}</h4>
<p>상세페이지 내용임</p>
<button @click="modalOpen = false">닫기</button>
</div>
</div>
--> 모달창 제목 부분에 {{ 원룸들[누름].title }} 을 넣어주면 끝!
클릭할 때 누름 데이터에 정수가 입력되어 ex) 원룸들[1].title 이런 식으로 데이터를 가져올 수 있게된다.
결과물
출처 : 코딩애플