computed & watch
computed?
- vue에는 데이터를 등록하여 끌어다 사용하는 속성이 크게 2개가 있는데 그 중 하나가 바로 computed이다.
- data 와 computed의 차이는 캐시(cache) 여부에 있다.
- computed는 기본적으로 캐싱을 하기 때문에 데이터 변화를 감지한다.
- 주로 복잡한 로직을 구현할 때 사용하는걸로 권유된다.
- 로직의 중복제거를 위해서도 사용된다.
- setter도 작성할 수 있다. 공홈코드확인
- computed에서 return되는 데이터는 '최종데이터'로 해당 데이터를 업데이트 하는 것은 좋은 방법이 아니다.
watch?
- computed와 짝으로 다니는 속성으로
- methods에 등록한 함수를 콜할 수 없는 computed 대신
- 변화된 데이터를 사용하여 함수를 콜해야 하는 경우 watch를 사용하여 작성한다.
- 완전히 computed에 귀속되는 것은 아니기 때문에 data 속성에 등록된 data도 watch로 변화감지하여 로직을 부여할 수 있다. 공홈코드확인
- unwatch() 함수를 통해 watch 콜 여부를 on/off 할 수 있다. 공홈코드확인
* 캐시 cache?
- 임시저장소
- 데이터나 값을 미리 복사해 놓음
- 데이터에 접근하여 해당 데이터를 불러오는 속도를 줄이기 위함에 있음
- 크게 CPU캐시, 디스크 캐시 등으로 나뉨
- CPU 캐시는 하드웨어를 통해 관리
- 그 외 캐시들은 소프트웨어적으로 관리
- 웹에서는: 인기있는 웹 페이지의 캐시를 프록시 서버에 저장하여 웹 페이지 요청에 응답하게 함으로써 네트워크 대역폭을 아낌