inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"

Watch, WatchEffect

watch강의 질문

153

Minkoo Lee

작성한 질문수 44

0

watch 첫번째 인자에 person.obj 넣고 newValue찍을때

person내의 obj객체를 {"count":1} => "Hello" 로 변경시

image.png

위 내용만 보면 person 내의 obj는 non-object라고 뜨는거 같은데요. ㄷㄷ 

강의내용에 "Hello"로만 입력하는게 아닌, 객체형태로 {"Hello":1} 이런식으로 입력해야하는게 아닌지..

다만, 아래와같이

{"count": 1} => {"Hello":1}로 변경하면 콘솔엔 아무것도 안찍힙니다. 위 스샷의 에러는 없고, 콘솔엔 아무것도 안찍힙니다.

 

콘솔 레벨은 모든수준으로 맞췄습니다.

 

아래는 강의내용 보고 적은 소스입니다. 뭐가 문제일까요?

import { reactive, ref, watch } from 'vue';

export default {
	setup() {
		const x = ref(0);
		const y = ref(0);

		const obj = reactive({
			count: 0,
		});

		const person = reactive({
			name: '홍길동',
			age: 30,
			hobby: '운동',
			obj: {
				count: 0,
			},
		});

		watch(
			() => person.obj,
			newValue => {
				console.log('newValue: ', newValue);
			},
		);

		return { x, y, obj, person };
	},
};
</script>

vue.js

답변 1

0

짐코딩

안녕하세요 🙂

객체의 값 자체를 변경하면 watch에서 감지를 할 수 없습니다.

말씀하신 것처럼

person내의 obj객체를 {"count":1} => "Hello"로 변경시** 위 예시는 값 자체를 변경하기에 watch가 동작하지 않습니다.

동작하지 않는 경우
// 1. 값 자체를 변경
person.obj = "Hello"

// 2. 객체 재할당
person.obj = { count: 2 }
동작하는 경우
// 객체의 속성을 변경
person.obj.count = 2

Vue의 Reactive 반응형 시스템은 객체의 속성 변경만 감지할 수 있습니다.

 

npm init vue@3.1.9

0

36

2

크롭 웹스토어 vue devtools 설치 관련

0

38

1

snippets 작성하는 부분 설명이 있었나요?

0

47

2

computed 의 set 함수를 통해 const 변수에 값을 담는 부분

0

52

2

소스 공유 어디서 해야하는지 궁금합니다

0

60

2

component 등록과 사용

0

57

2

강의교안

0

56

2

eslint 룰 관련 질문이 있습니다.

0

63

2

npm init -y 명령어 실행에 관한 질문

0

153

2

volar 가 마켓플레이스에 검색되지 않아 vue(official)을 설치했습니다.

0

167

2

깊은 감시자 질문

0

88

2

정리된 내용

0

153

2

화면이 왜 이렇게 뜨는걸까요?

0

184

2

왜 다르게 뜰까요..?ㅠㅠ

0

155

2

npm init vue , npm create vue@latest 명령 오류

0

289

2

강의를 듣다보니 궁금한 점 질문드립니다.

0

141

2

강의 듣다가 질문드립니다.

0

119

1

이벤트 처리 부분 강의 실습

0

140

2

v-pre는 설명이 없나요?

0

152

2

AppCard.vue 만들다 말고 오류가 갑자기 엄청 뜹니다

0

146

1

개발자도구 Vue 탭 관련 문의

0

240

2

강의를 인텔리제이로 수업따라가도 되져?

0

177

2

API 사용시 자동으로 import하는 기능은 어떤것을 설치해야 하나요?

3

274

2

이벤트 수식어 event 전달인자 관련 질문

0

136

1