Vue 데이터 바인딩 -7

2018-03-27

Data Binding

  • DOM 기반 HTML Template 에 vue데이터를 바인딩 하는 방법은 아래와 같이 크게 3가지가 있다.
    • Interpolation (값 대입)
    • Binding Expressions (값 연결)
    • Directives (디렉티브 사용)

Interpolation - 값 대입

  • Vue의 가장 기본적인 데이터 바인딩 체계는 Mustache {{ }}를 따른다.

Binding Expressions - 값 연결

  • {{ }} 이용한 데이터 바인딩을 할 때 자바스크립트 표현식을 사용할 수 있다.

  • 복잡하지 않은 간단한 표현식에 사용


<div>{{ number+1 }}</div> <!-- O -->
<div>{{ message.split('').reverse().join('') }}</div> <!-- O -->


{{ message | capitalize }}
{{ message | capitalize | upcapitalize }}

Directives

  • Vue 에서 제공하는 특별한 Attributes이며 v- 의 접두사를 갖는다.
  • 자바스크립트 표현식, filter 모두 적용된다.
<!-- login의 결과에 따라 p가 존재 또는 미존재 -->
<p v-if="login"> HELLO </p>

<!-- click=와 같은 역할 -->
<a v-on:click="doSomething"></a>

Class Binding

  • CSS스타일링을 위해서 Class를 아래2가지 방법으로 추가가 가능하다
    • class=””
    • v-bind:class
  • 주의할 점은 두 방법을 함께 사용하지 않고 한 가지만 적용해야 미연에 에러를 방지 할 수 있다.

<div class="static" v-bind:class="{{ 'class-a':isA, 'class-b':isB }}"></div>

<script>
  data: {
    isA:true,
    isB: false
  }
</script>

<!-- 결과 값은 -->
<div class="static class-a"></div>

  • Array 구문도 사용할 수 있다.
<div v-bind:class="[classA, classB]"></div>

<script>
  data: {
    classA:'class-a',
    classB:'class-b'
  }
</script>

<!-- 결과 값은 -->
<div class="static class-a"></div>