2022. 3. 22. 13:47ㆍ공부/Vue.js
v-if
조건에 따라 블록을 렌더링할 때 사용.
디렉티브의 표현식이 true 값을 반환할 때만 렌더링된다.
<h1 v-if="awesome">Vue is awesome!</h1>
v-else와 함께 'else 블록'을 추가하는 것도 가능하며
v-else-if 디렉티브 또한 가능하다.
<h1 v-if="awesome">Vue is awesome!</h1>
<h1 v-else-if="awesome2">Vue is awesome2!</h1>
<h1 v-else>Oh no 😢</h1>
<template>에 v-if를 갖는 조건부 그룹 만들기
둘 이상의 엘리먼트를 전환하려면 <template> 엘리먼트를 이용하면 좋다.
<template> 엘리먼트는 눈에 보이지 않게 내부 엘리먼트를 감싸는 역할을 하며, 최종 렌더링 결과에 포함되지 않는다.
<template v-if="ok">
<h1>Title</h1>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</template>
만약 div로 감싸게 되면 최종 렌더링 결과에 div 요소가 렌더링 된다.
div를 template 태그로 바꿔주게 되면 최종 렌더링 결과에는 template가 포함되지 않는다.
v-show
v-if와 아주 유사하게 사용 가능하지만, v-show는 항상 렌더링 되어 DOM에 남아있다는 점이 다르다.
v-show는 단순히 엘리먼트의 display 속성만을 전환한다.
<template> 엘리먼트를 지원하지 않으며, v-else와 함께 사용할 수도 없다.
v-if 와 v-show
v-if는 전환 비용이 높은 대신 초기에 렌더링 비용이 적다.
v-show는 초기 렌더링 비용이 많이 들지만 전환 비용이 적다.
따라서 비용의 효율성을 따져서 둘을 적절히 배치해야 한다.
v-if와 v-for
v-if와 v-for는 함께 사용하는 것을 권장하지 않는다.
함께 사용하게 되면 v-if가 더 높은 우선순위를 갖게 된다.
자세한 내용은 다음을 참조한다.
리스트 렌더링 | Vue.js
리스트 렌더링 v-for로 엘리먼트에 배열 매핑하기 v-for 디렉티브를 사용하여 배열을 기반으로 리스트를 렌더링 할 수 있습니다. v-for 디렉티브는 item in items 형태로 특별한 문법이 필요합니다. 여
v3.ko.vuejs.org
'공부 > Vue.js' 카테고리의 다른 글
[Vue.js] 10. 이벤트 핸들링 (0) | 2022.03.22 |
---|---|
[Vue.js] 09. 리스트 렌더링 (0) | 2022.03.22 |
[Vue.js] 07. 클래스와 스타일 바인딩 (0) | 2022.03.22 |
[Vue.js] 06. Watch (0) | 2022.03.22 |
[Vue.js] 05. computed - Getter, Setter (0) | 2022.03.22 |