Vue) 01. 데이터 바인딩..

준영·2022년 7월 28일
1

Vue는 React와는 다르게 HTML(<template>), Script(<script>), Style(<style>)을 작성하는 곳이 각각 분리되어 있다.

전체 소스코드)

<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <div>
    <h4>{{ products[0] }}</h4>
    <p>{{ price1 }} 만원</p>
  </div>
  <div>
    <h4>{{ products[1] }}</h4>
    <p>{{ price2 }} 만원</p>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      price1: 60,
      price2: 70,
      products: ["역삼동원룸", "천호동원룸", "마포구원룸"],
    };
  },
  components: {},
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

Vue의 특징으로 HTML에 Javascript 데이터를 바인딩하는 방법이 특이하다.
Vue는 데이터를 저장하는 상자가 있는데, 그곳에 데이터를 저장해서 사용하는 방식이다.

Vue 변수 선언)

export default {
  name: "App",
  
  // 데이터 보관함 -시작!
  data() {
    return {
      price1: 60,
      price2: 70,
      products: ["역삼동원룸", "천호동원룸", "마포구원룸"],
    };
  },
  // 데이터 보관함 -끝!
  
  components: {},
};

return 중괄호 안에다가 모든 데이터들을 담아서 사용하는 형식이다. 한마디로 변수같은 것들을 이곳에서 선언하는 것이다.

  • return 중괄호 안에 있는 데이터 보관함은 Object자료형으로 저장해야한다!

데이터 보관함에 저장한 데이터를 HTML에 바인딩 하는 방법은 Vue는 특이하게도 콧수염("{{ }}")이라는 것을 사용한다.

Vue 데이터 바인딩)

  <div>
    <h4>{{ products[0] }}</h4>
    <p>{{ price1 }} 만원</p>
  </div>

{{데이터바인딩}}을 하는 이유는 Vue의 실시간 자동 렌더링을 사용하기 위해서 사용한다고 하는데, 내 예상이지만 React의 state같은 것이 아닐까 싶다.


출력 결과)

profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글