Vue - V-for Advanced : Object Looping & Indexing

2023. 7. 31. 18:48·📘 Frontend/Vue

Indexing

v-for 디렉티브는 배열 내 항목을 반복 출력하는 기능 외에 다양한 데이터를 출력할 수 있습니다.

예를 들어, 배열 내 항목의 인덱스도 출력할 수 있습니다.

<li v-for="(goal, index) in goals">{{ goal }} - {{ index }}</li>

이렇게 설정하면 Goal1 - 0, Goal2 - 1 이런식으로 인덱스 번호까지 같이 출력할 수 있습니다.


Object Looping

그리고 배열 외에도 루프를 걸 수 있습니다 (ex: 객체)

지금 goals는 배열이기 떄문에 배열에 loop를 걸었지만 객체에 loop를 걸 경우도 있을 겁니다.

<ul>
    <li v-for="value in {name: 'Max', age: 20}">{{ value }}</li>
</ul>

위 코드에서 객체를 간단하게 HTML 내에서 선언했지만 실무라면 객체는 Javascript App으로 옮기는것이 좋습니다.

v-for를 이용해서 프로퍼티에 있는 여러 값을 출력할 수 있도록 value에 Interpolation을 걸어줍니다.


그럼 출력되는 값은,

  • Max
  • 20

이 순서대로 li 태그가 생성됨과 동시에 출력 될 겁니다.


그리고 위 객체의 키:값 형태로 출력하는 방법도 적용하고 싶다면 위의 Indexing에서 사용한 걸 응용해서 작성하면 됩니다.

<ul>
    <li v-for="(value, key) in {name: 'Max', age: 20}">: {{ key }: {{ value }}}</li>
</ul>

그럼 출력값은,

  • name: Max
  • age: 31

키와 값이 하나의 li에 묶여서 나옵니다.


마지막으로, 숫자인 경우에도 비슷하게 응용해서

<li v-for="num in 10">{{ num }}</li>

이런식으로 출력할 수 있습니다.

저작자표시 (새창열림)

'📘 Frontend > Vue' 카테고리의 다른 글

Vue - Component Basic  (0) 2023.08.02
Vue - Monster Slayer Game 만들기 1 : 공격 기능 추가  (3) 2023.07.31
Vue - Conditional Rendering  (0) 2023.07.31
Vue - Dynamic Styling : 구현  (0) 2023.07.31
Vue - Dynamic Styling: Class Binding  (0) 2023.07.31
'📘 Frontend/Vue' 카테고리의 다른 글
  • Vue - Component Basic
  • Vue - Monster Slayer Game 만들기 1 : 공격 기능 추가
  • Vue - Conditional Rendering
  • Vue - Dynamic Styling : 구현
신건우
신건우
조용한 개발자
  • 신건우
    우주먼지
    신건우
  • 전체
    오늘
    어제
    • 분류 전체보기 (422)
      • 📘 Frontend (71)
        • Markup (1)
        • Style Sheet (2)
        • Dart (8)
        • Javascript (12)
        • TypeScript (1)
        • Vue (36)
        • React (2)
        • Flutter (9)
      • 📘 Backend (143)
        • Java (34)
        • Concurrency (19)
        • Reflection (1)
        • Kotlin (29)
        • Python (1)
        • Spring (42)
        • Spring Cloud (5)
        • Message Broker (5)
        • Streaming (2)
        • 기능 개발 (5)
      • 💻 Server (6)
        • Linux (6)
      • ❌ Error Handling (11)
      • 📦 Database (62)
        • SQL (31)
        • NoSQL (2)
        • JPQL (9)
        • QueryDSL (12)
        • Basic (4)
        • Firebase (4)
      • ⚙️ Ops (57)
        • CS (6)
        • AWS (9)
        • Docker (8)
        • Kubernetes (13)
        • MSA (1)
        • CI & CD (20)
      • 📚 Data Architect (48)
        • Data Structure (10)
        • Algorithm (8)
        • Programmers (17)
        • BaekJoon (5)
        • CodeUp (4)
        • Design Pattern (4)
        • AI (0)
      • ⚒️ Management & Tool (8)
        • Git (7)
        • IntelliJ (1)
      • 📄 Document (10)
        • Project 설계 (6)
        • Server Migration (3)
      • 📄 책읽기 (2)
        • 시작하세요! 도커 & 쿠버네티스 (2)
      • 🎮 Game (4)
        • Stardew Vally (1)
        • Path of Exile (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      React #Markdown
      Lock #Thread #Concurrency
      GStreamer #Pipeline
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    신건우
    Vue - V-for Advanced : Object Looping & Indexing
    상단으로

    티스토리툴바