watch강의 질문
153
작성한 질문수 44
watch 첫번째 인자에 person.obj 넣고 newValue찍을때
person내의 obj객체를 {"count":1} => "Hello" 로 변경시

위 내용만 보면 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>
답변 1
0
안녕하세요 🙂
객체의 값 자체를 변경하면 watch에서 감지를 할 수 없습니다.
말씀하신 것처럼
person내의 obj객체를
{"count":1}=>"Hello"로 변경시** 위 예시는 값 자체를 변경하기에watch가 동작하지 않습니다.
동작하지 않는 경우 ❌
// 1. 값 자체를 변경
person.obj = "Hello"
// 2. 객체 재할당
person.obj = { count: 2 }동작하는 경우 ✅
// 객체의 속성을 변경
person.obj.count = 2Vue의 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





