Vue.js 심화 마법 1강: 슈욱~ 나타나는 변신 마법 (Transition)

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 우리 웹사이트가 이제 아주 똑똑해졌지만, 화면이 바뀔 때 ‘툭툭’ 끊기는 게 조금 아쉬웠죠? 오늘은 우리 웹사이트에 부드러운 움직임을 더해주는 애니메이션 마법, Transition(트랜지션)을 배워볼게요!

Vue.js 심화 마법 1강: 슈욱~ 나타나는 변신 마법 (Transition)

1. 트랜지션: 순간이동 대신 부드러운 걷기

지금까지 v-if로 물건을 나타나게 하면 눈 깜짝할 새에 ‘팡!’ 하고 나타났어요. 하지만 트랜지션 마법을 쓰면 안개처럼 서서히 나타나거나(Fade-in), 화면 밖에서 슈욱~ 하고 미끄러지듯 들어오게 할 수 있답니다.

웹사이트가 훨씬 고급스럽고 부드러워 보이죠? 마치 영화 속 마법 효과처럼 말이에요!

2. 마법의 망토: <Transition> 태그

이 마법을 부리는 법은 아주 간단해요. 움직이고 싶은 상자를 <Transition>이라는 이름의 특별한 망토로 감싸주기만 하면 됩니다. 그러면 Vue.js 마법사가 나타날 때와 사라질 때를 알아서 계산해준답니다.

3. 실전 마법: 부드러운 유령 나타나기

버튼을 누르면 글자가 부드럽게 나타나는 마법 코드를 살펴볼까요?

<style>
  /* 마법이 시작될 때와 끝날 때의 모습 */
  .v-enter-active, .v-leave-active {
    transition: opacity 0.5s ease; /* 0.5초 동안 부드럽게! */
  }
  .v-enter-from, .v-leave-to {
    opacity: 0; /* 처음과 끝은 투명하게 */
  }
</style>

<div id="app">
  <button @click="show = !show">마법 부리기</button>
  
  <!-- Transition 망토로 감싸주세요 -->
  <transition>
    <p v-if="show">✨ 부드럽게 나타난 마법 메시지! ✨</p>
  </transition>
</div>

<script>
  const { createApp } = Vue;
  createApp({
    data() {
      return { show: false }
    }
  }).mount('#app');
</script>
Vue.js 심화 마법 1강: 슈욱~ 나타나는 변신 마법 (Transition)

4. 스마트 라이프를 위한 가족 코딩 팁

아이들과 함께 0.5s2s로 바꿔보세요. 마법이 아주 천천히 일어나는 걸 보며 시간이 어떻게 흐르는지 시각적으로 배울 수 있습니다. 우리가 쓰는 스마트폰 메뉴가 옆으로 밀려 나오는 것도 다 이런 원리라는 걸 이야기해 주시면 좋습니다.

마치며: 생동감 넘치는 웹사이트의 시작

오늘은 딱딱한 웹사이트에 생명력을 불어넣는 첫 번째 심화 마법을 배웠습니다. 다음 시간에는 **’데이터가 변할 때 숫자가 굴러가는 마법(Watcher)’**에 대해 알아볼게요. 내일 아침 9시에 다시 만나요!