본문 바로가기
Frontend/Vue 2

vue3 computed - getter setter

by SOLYI 2021. 10. 18.
<template>
  <!-- <h1>{{ msg.split('').reverse().join('') }}</h1> -->
  <h1>{{ reversedMessage }}</h1>
  <h1>{{ reversedMessage }}</h1>

  <button @click="add()">
    ADD~!
  </button>
</template>

<script>
export default {
  data:function(){
    return {
      msg:'Hello Computed!'
    }
  },


// - computed에서 만들어둔 데이터는 캐싱이라는 기능이 있어서 한번 연산을 해두면 
//   반복적으로 데이터처럼 화면에 출력할때 또 계산을 하지않음.
//   가지고 있는 데이터를 출력해줌
// - 여러차례 출력되는 데이터 일땐 계산된 가지고 있는 데이터(캐싱)를 통해서 출력을 해준다.

// 기본적으로 application을 만들때 데이터를 최적화 할때 캐싱 기능을 이용할수있다.
  computed: {
    // reversedMessage(){
    //   return this.msg.split('').reverse().join('')
    // }
    reversedMessage: {
      get(){
        //getter
         return this.msg.split('').reverse().join('')
      },
      set(newValue){
        //setter
        //this.msg = newValue
        console.log(newValue)
      }
    }
  },

  // computed의 값은 기본적으로 '읽기'전용이다.
  //
  methods: {
    add(){
      this.reversedMessage += '?!'
    //  this.msg += '!?'
    }
  }
}
</script>
반응형

'Frontend > Vue 2' 카테고리의 다른 글

vue3 클래스, 스타일 바인딩  (0) 2021.10.18
vue3 watch  (0) 2021.10.18
vue3 computed 캐싱  (0) 2021.10.18
vue3 computed  (0) 2021.10.18
vue3 syntax  (0) 2021.10.18