Vue.js

코딩애플 Vue3 직방, 인스타그램 웹앱 -- 6 (import / export)

나이많은 초보 2023. 11. 17. 11:42

# 데이터 export 보내주기.....

파일이 있다고 그냥 읽어 올수 없다. 동의가 있어야한다.

동의 서명 코드는 데이터 변수로 선언해서 

export default가 기본 값이다.

혹시나 배열 일경우

1개면 default고 2개면 export { }..... 묶어서 보내주기

#데이터 import 받아오기....import는 import '변수명' from '경로' 로 선언하면된다....

받아올때도 배열이면 변수명 자리에 { } 묶어서 받기...

오브젝 배열의 리스트의 자료를 받아온다. [ {}, {}, {}, {}, {} ] 형태의 자료이고 변수를 선언하지 않을때는

export default [ {}, {}, {}, {}, {} ] 파일안에 선언하면 된다.

 

나는 스크립트안에다가 

선언하고

적용했다.

그걸 다시 v-for문을 이용해서 돌리는것이다.

지난시간에 for문에서는 프로젝트 경로의 img를 동적생성해주는 것이였다. require() 할수를 이용해서....

그런데 이번 for문에는 먹히지 않았다.

<div>
  <div v-for="(원룸,i) in 원룸들" :key="i" :style="inStyle">
    <img :src="원룸.image" class="img_room">
    <h4 :style="style" @click="모달창열렸니 =true">{{ i+1}}. {{ 원룸.title }}</h4>
    <p > {{원룸.price}}</p>       
  </div>
</div>

이번껀  그냥 데이터를 넣어야지 되었다. :src안에 문자열로 넣을때는 {{ }} 안에 기재하지 않았다는게 포인트...

그리고 적용되는데 시간이 소요되었다. 에러는 안나왔는데 화면이 아무것도 안뜨길래 에러인줄알았더니 반영이 안되서였다.

한번 데이터가 읽히고 나니깐 그땐 계속 잘됨...

require('${{원룸.image}}') 경우에는 에러가 나옴....ㅋㅋㅋ 이렇게 하시는 분들은 없을 수도 있으나...화면 출력이 안되었을때 뻘짓을 많이 했다.

잘나옴.....

그럼 모달창에  상세내용을 출력하고 싶어졌다...

chatGPT의 힘을 빌려...code수정했다.

#for문 안에 데이터 함수로 전달 하기

여기 부분이겠지...직적 데이터가 아니라 함수를 적용하는 것이다.

 

여기 저기 손을 봐야했다..ㅋㅋ

//모달창 부분에서 상세데이터를 받은 코드를 추가하고 클릭기능에 함수로 변경한다.
<p>{{ modalContent }}</p>
<button @click="closeModal()" >닫기</button>

//클릭시 모달창 활성화 함수도 수정한다.
<h4 :style="style" @click="modalOpen(원룸.content)">{{ i+1}}. {{ 원룸.title }}</h4>

 

script의 methods 영역에 함수를 추가한다.

 

클릭시 상세 페이지에 원룸 상세 내용이 뜬다...

 

데이터 함수로 전달시 원룸자체를 보내서

this.modalContent = 원룸.content;

로 작성해도 된다..모달창에 띄울 내용이 많다면 이것도 방법~