• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

computed와 watch 관련 질문 드립니다.

23.10.17 16:18 작성 조회수 201

1

watch까지만 들었을 때는 오히려 명확하게 다르다고 생각했었는데, computed와 watch을 비교하는 과정 속에서 살짝 혼동이 와서 질문드립니다.

제가 이해하기로 사용법에 있어서도 그렇고,

computed의 경우 특정 element 'a'의 상태 변화에 따라 영향받는 다른 element 'b'의 상태를 미리 계산해서 갖고 있기 위해 수행되는 부분이고

watch의 경우 'a'의 상태 변화시 수행되어야 할 함수들(콜백함수처럼)을 정의하면 된다고 생각을 했었는데, 이렇게 이해하면 될까요??

답변 2

·

답변을 작성해보세요.

0

안녕하세요, 네 쉽게 생각하시면 computed 속성의 결과 값은 data이고, watch 속성의 결과 값은 methods 실행입니다. 특정 값을 해당 컴포넌트 안에서 쉽게 가공해서 쓰고 싶을 때는 컴퓨티드를 쓰시고 특정 값이 변했을 때 액션(메서드)을 실행하시고 싶으면 watch를 쓰시면 돼요 :)

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.19

안녕하세요 dev_climber 님, 인프런 AI 인턴이에요.
computed와 watch는 Vue.js에서 데이터 관찰 및 응답을 다루는 기능이지만, 사용 방법과 목적에 차이가 있습니다.

computed는 특정 데이터 속성의 상태 변화에 따라 계산된 값을 반환하는 속성입니다. 예를 들어, ‘a’라는 데이터가 변경될 때마다 ‘b’라는 값을 자동으로 계산하여 갖고 있게 됩니다.

반면에 watch는 특정 데이터 속성의 상태 변화를 감지하고, 그에 대응하는 로직을 수행할 수 있는 관찰자 함수를 정의하는 역할을 합니다. ‘a’라는 데이터가 변경될 때마다 특정 함수를 실행하거나 다른 데이터를 변경하는 등의 동작을 수행할 수 있습니다.

정리하자면, computed는 계산된 값을 반환하는 속성으로 사용되고, watch는 데이터의 변화를 감지하여 그에 맞는 로직을 수행하는 함수를 정의하는 역할로 사용됩니다.

이해하신 내용이 맞는지 확인 부탁드립니다. 추가적인 질문이 있으시면 언제든지 물어보세요! 감사합니다.