큐범
Just do debug
큐범
전체 방문자
오늘
어제
  • 전체보기 (128)
    • 회고 (4)
    • JAVA (16)
      • JAVA 기초 (18)
      • JAVA Algorithm, Datastruct (13)
    • Spring (11)
    • Micro Service Architecture (3)
    • JPA (6)
    • gRPC (4)
    • Network (8)
    • Process (7)
    • Cloud (4)
    • Python (10)
    • Web(vue) (2)
    • UMC (1)
    • DB (9)
    • CS (1)
    • Clean Code (1)
    • TDD (9)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
큐범

Just do debug

Web(vue)

v-for와 v-if 동시사용

2021. 10. 13. 23:10

v-for와 v-if의 동시사용을 금지하는 이유는 우선순위에 있다.

2.x버전에서는 v-for가 더 높은 우선순위를 가진다.

3.x버전에서는 v-if가 더 높은 우선순위를 가진다.

따라서, 두 디렉티브를 같이 사용하는 것을 지양하도록 가이드라인이 정해져있다.

하지만, v-for와 v-if를 동시사용해야 한다면 우회해서 사용하는 방법은 존재한다.

  • 첫번째, 목록의 항목을 필터링 할 경우 (v-for="user in users" v-if="user.isActive") users를 활성 사용자를 반환하는 새로운 computed 속성(예:activeUsers)으로 대체한다.
<ul>
  <li
    v-for="user in activeUsers"
    :key="user.id"
  >
    {{ user.name }}
  </li>
</ul>
  • 두번째, 숨김 목록의 렌더링을 피할 때 (v-for="user in users" v-if="shouldShowUsers") 이 경우, v-if를 컨테이너 엘리먼트로 옮긴다. (예:ul,ol)
<ul>
  <template v-for="user in users" :key="user.id">
    <li v-if="user.isActive">
      {{ user.name }}
    </li>
  </template>
</ul>

 

    'Web(vue)' 카테고리의 다른 글
    • methods 와 computed 의 차이
    큐범
    큐범

    티스토리툴바