• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

v-if 대신 :show

22.03.02 23:10 작성 조회수 171

1

영상 내용과 코드는 똑같은데,

modal 창이 계속 뜨지 않았습니다.

v-if="showModal" 대신

v-show="showModal"로 해보아도 안 됐다가,

:show="showModal"로 해보니까 정상적으로 modal이 나타났다 사라지는 기능이 작동했습니다.

 

위와 같은 상황은 왜 그런 걸까요?

답변 1

답변을 작성해보세요.

0

안녕하세요, v-if와 v-show가 지정된 뷰 데이터에 따라 화면에서 표시/미표시가 됩니다. :show는 props 속성으로 밖에 사용되지 않을 것 같은데 코드를 몰라서 정확한 답변이 어려울 것 같아요!

해결했습니다!

vue.js 공식 사이트에서 코드를 복사해와서 Modal.vue 파일을 제대로 파악하지 않고 있었는데,

Modal.vue 측에서 자체적으로

v-if="show"라는 문장이 있었고, 부모 컴포넌트로부터 prop으로 show를 받아오는 방식이었습니다.

그래서 부모 컴포넌트 측에서 Modal에 :show="showModal"이라고 선언하여야 Modal의 팝업 여부를 컨트롤할 수 있었던 것 같습니다!