SeouliteLab

[Vue.js] 배열 및 컬렉션의 주의 사항 본문

카테고리 없음

[Vue.js] 배열 및 컬렉션의 주의 사항

Seoulite Lab 2024. 4. 30. 08:57
<template>
  <div>
    <p>책 목록:</p>
    <ul>
      <li v-for="book in books" :key="book.value">{{ book.value }}</li>
    </ul>
    <p>카운트: {{ count }}</p>
  </div>
</template>

<script setup>
import { reactive, ref } from 'vue';

// 배열을 반응성 있는 객체로 만듭니다.
const books = reactive([ref('Vue 3 가이드')]);

// Map을 반응성 있는 객체로 만듭니다.
const map = reactive(new Map([['count', ref(0)]]));

// 배열에서 첫 번째 책의 값을 출력합니다.
const bookValue = books[0].value;

// Map에서 'count' 키의 값을 출력합니다.
const count = map.get('count').value;
</script>

<style scoped>
/* 컴포넌트의 스타일을 여기에 작성합니다. */
</style>

Vue.js에서 배열 및 컬렉션을 사용할 때 주의해야 할 사항이 있습니다. 반응성 있는 객체로 만든 배열이나 Map 등에서 요소에 접근할 때는 .value를 사용해야 합니다.

위의 예제는 배열과 Map을 반응성 있는 객체로 만든 후, 요소에 접근하는 예제입니다. 배열에서는 books[0].value를 사용하여 첫 번째 책의 값을 출력하고, Map에서는 map.get('count').value를 사용하여 'count' 키의 값을 출력합니다.

Vue는 반응성 있는 객체로 만든 배열이나 Map에서 요소에 접근할 때 .value를 사용하여 내부 값을 래핑해야 합니다. 이를 통해 Vue가 내부 값을 추적하고 변경 사항을 감지할 수 있습니다. 따라서 배열이나 컬렉션을 사용할 때는 항상 이 점을 유의해야 합니다.