본문 바로가기
FrontEnd/Vue 2

[Vue.js] 데이터 바인딩, 디렉티브

by Chaedie 2022. 9. 18.
728x90

Vue에서 데이터를 다루는 방법은 2가지다.

  1. 데이터 바인딩
    • Mustach Syntax라고 불리는 방식으로 HTML내부에 직접 바인딩 할 수 있다. {{ data }}
  2. 디렉티브
    • v-bind, v-if, v-show, v-html 등등 v-로 시작하는 정해진 문법을 통해 html tag의 attributes에 데이터를 바인딩 할 수 있다.
    • 아래 코드에서 v-bind로 만들어진 예제들을 확인할 수 있다.
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <p v-bind:id="uuid" v-bind:class="name">{{number}}</p>
      <!-- <p id="abc1234" class="text-blue">{{number}}</p> -->
      <p>{{doubleNum}}</p>
      <div>
        <h3>v-if</h3>
        <div v-if="loading">Loading...v-if</div>
        <div v-else>test user has been logged in</div>
      </div>
      <div>
        <h3>v-show</h3>
        <div v-show="loading">Loading...v-show</div>
      </div>
      <!-- v-if는 false일 경우 dom요소 자체가 없어진다.  -->
      <!-- v-show는 false일 경우"display:none"으로 만든다. -->
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
      new Vue({
        el: '#app',
        data: {
          number: 10,
          uuid: 'abc1234',
          name: 'text-blue',
          loading: true,
        },
        computed: {
          doubleNum: function () {
            return this.number * 2;
          },
        },
      });
    </script>
  </body>
</html>

댓글