본문 바로가기

Vue.js

Kossie Coder 02. 뷰 데이터(data)와 메소드(methods)

<!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>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        {{person.name}} {{person.age}} <!--코지코더 34-->
        {{nextYear()}} <!--함수뒤에()적어줘야한다. 코지코더는 내년에 34살 입니다.-->
        {{nextYear_('안녕하세요')}} <!--인자(argument):함수를 사용할때 넣어주는 값(여기서는 '안녕하세요')-->
        <!--안녕하세요 코지코더는 내년에 35살입니다.-->
     </div> 

<script>
   new Vue({
      el: '#app',
      data: { //data속성값에 '데이터'를 넣을 수 있다. 
          person: {
            name: '코지 코더',
            age: 34,
          }
      },
      methods: { //methods안에는 '함수'를 넣을 수 있다.
        nextYear: function(){ //this에 바로 data들을 넣어준다.
            return this.person.name + ' 는 내년에 ' + (this.person.age+1) + '살 입니다.';
        },
        nextYear_: function(greeting){ //매개변수를 받을 수 있다.함수 안에서 설정된 변수 : paramenter
            return greeting + ' '+ this.person.name + ' 는 내년에 ' + (this.person.age+1) + '살 입니다.';
        },
        nextYear__(greeting){ //이렇게 짧게 줄여서 사용할 수 있다.
            return greeting + this.person.name + ' 는 내년에 ' + (this.person.age+1) + '살 입니다.';
        },
        otherMethod: function(){
            this.nextYear(); //이렇게 this를 이용하여 다른 method를 바로 사용할 수 있다.
        }
      }
})
</script>
</body>
</html>

1/ data

- 속성 값에 '데이터'를 넣을 수 있다.

- html안에는 this없이 바로 가져올 수 있다.

- methods안에는 this.person.이렇게 this를 붙이고 가져와야한다.

 

2/ methods

- 속성 값에 '함수'를 넣을 수 있다.

- 매개변수(parameter)를 받을 수 있다.

- html안에는 ()를 뒤에 붙여줘야한다.