[무작정 따라하는 Vue] 2. Vue.js 조건문 반복문

 

[무작정 따라하는 Vue] 2. Vue.js 조건문 반복문

Vue.js에서 조건문과 반복문을 어떻게 사용하는지 탐구해봅니다.

 

1. 조건문

엘리먼트에 조건문을 사용하여 enable 혹은 disable을 제어하는 것을 예제로 설명합니다.

<div id="app-3">
  <p v-if="seen">이제 나를 볼 수 있어요</p>
</div>
var app3 = new Vue({
  el: '#app-3',
  data: {
    seen: true
  }
})
이제 나를 볼 수 있어요

이제, Javascript 콘솔에 app3.seen = fasle를 입력해 주면, 메시지가 사라지는 것을 볼 수 있습니다.

app3.seen = false
 

이 예제를 통해 텍스트와 속성뿐 아니라 DOM의 구조에도 데이터를 바인딩 할 수 있음을 확인했습니다. 또한 Vue 엘리먼트가 Vue에 삽입/삭제/업데이트 될 때 자동으로 트랜지션 효과를 적용할 수 있도록 시스템을 제공합니다.

 

Vue는 트랜지션 래퍼 컴포넌트를 제공하므로 다음과 같은 상황에서 모든 엘리먼트 또는 커모넌트에 대한 진입/진출 트랜지션을 추가할 수 있습니다.

  • 조건부 렌더링 (v-if 사용)
  • 조건부 출력 (v-show 사용)
  • 동적 컴포넌트
  • 컴포넌트 루트 노드
<div id="demo">
  <button v-on:click="show = !show">
    Toggle
  </button>
  <transition name="fade">
    <p v-if="show">hello</p>
  </transition>
</div>
new Vue({
  el: '#demo',
  data: {
    show: true
  }
})
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
  opacity: 0;
}

 

 

2. 반복문

v-for 디렉티브는 배열의 데이터를 바인딩하여 아래의 예제로 Todo 목록을 표시할 수 있습니다.

<div id="app-4">
  <ol>
    <li v-for="todo in todos">
      {{ todo.text }}
    </li>
  </ol>
</div>
var app4 = new Vue({
  el: '#app-4',
  data: {
    todos: [
      { text: 'JavaScript 배우기' },
      { text: 'Vue 배우기' },
      { text: '무언가 멋진 것을 만들기' }
    ]
  }
})
1.JavaScript 배우기
2.Vue 배우기
3.무언가 멋진 것을 만들기

이제 콘솔에서 app4.todos.push({text:'밥 먹기'})를 입력하면 Todo목록에 새로운 항목이 동적으로 추가 된것을 볼 수 있습니다.

app4.todos.push({text:'밥 먹기'})

'Library > Vue.js' 카테고리의 다른 글

[무작정 따라하는 Vue] 1. Vue.js 시작하기  (0) 2022.03.27