상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
신용카드 단말기를 통해 손님이 청구서를 어떻게 확인하나요?
신용카드 단말기의 재고 관리 기능은 어떤식으로 작동하나요?
바닥시공이 완료된 후 첫 청소 방법은 어떻게 하나요?
바닥시공 후 시간이 지나면 어떤 문제가 발생할 수 있나요?
바닥시공의 시장 규모는 어느 정도인가요?
영어과외 수업 후 복습하는 것은 왜 중요한가요?
1인가구에 적합한 가전 제품은 무엇인가요?
1인가구가 가장 많이 사용하는 앱은?
패브릭소파에 적합한 쿠션 선택은 어떻게 하나요?
패브릭소파와 관련된 새로운 실험적인 디자인은?
인테리어디자이너로서 프로젝트 예산을 관리하는 방법은 무엇인가요?
인테리어디자이너가 최신 트렌드를 반영하기 위해 어떻게 정보를 수집하나요?
Previous
Next
수정하기 - Vue.js에서 watch와 computed의 차이점은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Vue.js에서 `watch`와 `computed`는 모두 반응형 데이터 처리에 사용되지만, 그 목적과 사용 방식에서 중요한 차이점이 있습니다. 이 두 기능은 Vue.js의 반응형 시스템을 활용하여 데이터의 변화를 감지하고 그에 따라 UI를 업데이트하는 데 도움을 줍니다. 아래에서 각각의 기능에 대해 자세히 설명하겠습니다. 1. Computed Properties 정의 : `computed`는 Vue 인스턴스의 <a href='https://sangseek.com/sangseeks/데이터 속성/ko'>데이터 속성</a>을 기반으로 계산된 값을 반환하는 속성입니다. 이 속성은 종속된 데이터가 변경될 때만 다시 계산됩니다. 특징 : - 캐싱 : `computed` 속성은 종속된 데이터가 변경되지 않는 한, 이전에 계산된 값을 캐시합니다. 즉, 성능 최적화에 유리합니다. - 반응형 : `computed`는 Vue의 반응형 시스템에 의해 자동으로 업데이트됩니다. 종속된 데이터가 변경되면, `computed` 속성도 자동으로 다시 계산됩니다. - 읽기 전용 : 기본적으로 `computed`는 읽기 전용입니다. 그러나 setter를 정의하여 값을 설정할 수도 있습니다. 사용 예 : ```javascript new Vue({ data() { return { firstName: 'John', lastName: 'Doe' }; }, computed: { fullName() { return `${this.firstName} ${this.lastName}`; } } }); ``` 위의 예에서 `fullName`은 `firstName`과 `lastName`이 변경될 때만 다시 계산됩니다. 2. Watchers 정의 : `watch`는 Vue 인스턴스의 데이터 속성의 변화를 감지하고, 그 변화에 따라 특정 작업을 수행하는 데 사용됩니다. 주로 비동기 작업이나 복잡한 로직을 처리할 때 유용합니다. 특징 : - 비동기 작업 : `watch`는 데이터가 변경될 때마다 특정 함수를 실행할 수 있습니다. 이로 인해 API 호출, 타이머 설정 등 비동기 작업을 처리하는 데 적합합니다. - 명시적 : `watch`는 특정 데이터 속성을 명시적으로 감시하며, 그 속성이 변경될 때마다 지정된 <a href='https://sangseek.com/sangseeks/콜백/ko'>콜백</a> 함수를 실행합니다. - 다양한 데이터 타입 : `watch`는 객체, 배열 등 다양한 데이터 타입을 감시할 수 있으며, 깊은 감시(deep watch)도 지원합니다. 사용 예 : ```javascript new Vue({ data() { return { question: '', answer: '질문을 입력하세요.' }; }, watch: { question(newQuestion) { this.answer = '대기 중...'; this.getAnswer(newQuestion); } }, meth<a href='https://sangseek.com/sangseeks/ods/ko'>ods</a>: { getAnswer(question) { // API 호출 등의 비동기 작업 setTimeout(() => { this.answer = '답변: ' + question; }, 1000); } } }); ``` 위의 예에서 `question`이 변경될 때마다 `getAnswer` 메소드가 호출되어 비동기 작업을 수행합니다. 요약 - 목적 : - `computed`: 데이터 기반의 계산된 값을 제공하고, 캐싱을 통해 성능을 최적화합니다. - `watch`: 데이터의 변화를 감지하고, 그에 따라 특정 작업(주로 비동기 작업)을 수행합니다. - 사용 시나리오 : - `computed`: UI에 표시할 계산된 값을 필요로 할 때 사용합니다. - `watch`: 데이터 변경에 따라 API 호출이나 복잡한 로직을 실행해야 할 때 사용합니다. 이러한 차이점을 이해하고 적절한 상황에 맞게 `computed`와 `watch`를 활용하면 Vue.js 애플리케이션의 성능과 유지보수성을 높일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기