Vue.js + AI 마법 15강: 필요할 때마다 꺼내 써요! 마법 주문 상자 (Components)

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 어제는 별을 움직이게 만드는 시간 조절 마법(Timing)을 배웠죠? 이제 우리 성에는 움직이는 별도 있고, 말하는 AI 비서도 생겼어요. 하지만 이 모든 마법 주문이 한곳에 섞여 있으면 너무 복잡하겠죠? 오늘은 마법들을 종류별로 예쁘게 담아두는 마법 주문 상자, Components(컴포넌트)를 다시 한번 제대로 배워볼게요!

[IMAGE_1]

1. Component: 마법을 담는 조립식 블록

컴포넌트는 레고 블록이나 주방의 양념통과 같아요.

  • 따로따로 만들기: ‘반짝이는 버튼’ 마법, ‘움직이는 캐릭터’ 마법을 각각의 작은 상자에 따로 담아두는 거예요.
  • 언제든 조립하기: 거실에도 버튼이 필요하고, 공부방에도 버튼이 필요할 때 미리 만들어둔 ‘버튼 상자’를 쏙 가져다 놓기만 하면 된답니다.

2. 왜 이 마법이 필요한가요?

  • 청소가 쉬워요: 버튼 모양을 바꾸고 싶을 때, 모든 방을 돌아다닐 필요 없이 ‘버튼 상자’ 하나만 고치면 성 전체의 버튼이 마법처럼 한꺼번에 바뀐답니다.
  • 협동 마법: 아빠는 ‘AI 비서 상자’를 만들고, 아이는 ‘성적표 상자’를 만들어서 나중에 하나로 합치기도 아주 좋아요.

3. 실전 마법: 나만의 마법 버튼 상자 만들기

자주 쓰는 버튼을 MagicButton.vue라는 이름의 상자에 담아볼까요?

<!-- 1. MagicButton.vue (상자 안의 내용) -->
<template>
  <button class="magic-btn">
    <slot></slot> 
  </button>
</template>

<style scoped>
.magic-btn { 
  background: gold; 
  border-radius: 20px; 
  padding: 10px 20px; 
}
</style>

<!-- 2. App.vue (상자를 꺼내 쓰는 곳) -->
<script setup>
import MagicButton from './MagicButton.vue';
</script>

<template>
  <h1>우리 성에 오신 걸 환영해요!</h1>
  <!-- 만들어둔 상자를 이름표처럼 써요 -->
  <MagicButton>비밀 문 열기</MagicButton>
  <MagicButton>불 끄기</MagicButton>
</template>

[IMAGE_2]

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

아이들에게 ‘학용품 정리함’이나 ‘서랍장’에 비유해 보세요. 연필은 연필꽂이에, 공책은 책꽂이에 두어야 나중에 찾기 쉬운 것과 같다고요. 아이와 함께 만든 ‘에듀패드’에서 ‘오늘의 할 일’을 보여주는 작은 카드를 컴포넌트로 만들어 보세요. 하나를 잘 만들어두면 열 개, 백 개의 카드도 복사기처럼 금방 만들어낼 수 있다는 사실에 아이는 코딩의 ‘효율성’을 깨닫게 됩니다.

마치며: 조립식 성의 마스터 건축가

이제 여러분은 복잡한 마법도 차곡차곡 정리해서 조립할 수 있는 건축가 마법사가 되었습니다! 정말 깔끔하네요. 다음 시간에는 **’마법의 속삭임(Props & Events)’**이라는 주제로, 상자와 상자끼리 서로 정보를 주고받으며 대화하는 법을 배워볼게요! 내일 아침 9시에 만나요!