computed 속성이란? 데이터와 흡사하며 어떠한 값을 계산된 값으로 제공해주는 속성을 정의한다.
사용 예시)
{{valueSum}}
<script>
new Vue({
data() {
return{
value1 : '1번',
value2 : '2번',
value3 : '3번',
goal:{
math: 90,
kor: 100,
computer: 100
}
};
},
computed : {
valueSum() {
return `${this.value1} ${this.value2} ${this.value3}`};
}
}
});
</script>
이렇게 하여 computed 속성을 사용할 수 있다.
computed와 methods를 보았을 때 똑같이 함수를 사용하여 값을 나타내게 된다. 그러면 다른 점은 무엇이 있을 까?
- computed는 간략한 계산을 사용할 때 사용한다.
- 어떠한 값이 계속 변화한다면 computed를 사용하는 것을 권장.
- methods는 복잡한 로직을 수행할 때 사용하는 것을 권장.
- 구조체를 만들어 변수를 할당했을 때, 구조체를 분해하여 값을 담을 변수를 생성하고 해당 값을 집어넣는 방식.
computed: {
totalGoal(){
const {math, kor, computer} = this.goal;
return math+kor+computer;
},
}
위에서 만든 자료를 이용하기 위해 computed내부에 변수를 할당하는 computed를 만들었다. 이것을 {{totalGoal}}을 사용하게 되면 구조체 내부에 있는 값을 가져와 분해하고 사용하게 된다.