Vuej에서 소품 변경 보기
어린이용 컴포넌트의 소품으로 시계를 사용하고 싶은데 작동하지 않습니다.
제 코드는 다음과 같습니다.
props: {
searchStore: {
type: Object
}
},
watch: {
searchStore(newValue) {
alert('yolo')
console.log(newValue)
}
그리고 불행하게도 그것은 작동하지 않는다.
이 게시물을 보고 모든 것을 시도했지만 아무 것도 작동하지 않았습니다: VueJs 2.0 - 'props'의 변화를 듣는 방법
Vue Devtools에 내 소품을 확인해보니 변하고 있어.
커뮤니티에 미리 감사드립니다!
그 코드에 근거하면, 동작할 수 있기 때문에, 문제는 다른 장소에 있을 가능성이 있습니다.코드를 더 올릴 수 있나요?
즉시 실행되도록 하려면immediate
. 구문은 다음과 같습니다.
watch: {
searchStore: {
immediate: true,
deep: true,
handler(newValue, oldValue) {
}
}
},
그deep: true
설정은 오브젝트 내의 변경을 상세하게 감시합니다.
상위 구성 요소에서 이 개체의 일부를 업데이트할 때 Vue를 사용해야 합니다.$set
기능.
this.$set(this.searchStore, 'myKey', {price: 12.22});
자세한 것은, https://vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats 를 참조해 주세요.
'search Store'가 바뀌지 않았을까요?
개체이므로 vue는 전달될 개체의 새 참조를 감시합니다.
의미(감시를 트리거하지 않음):
roorSearchStore.a= newVal
참조가 변경되지 않았기 때문에 워치를 트리거하지 않습니다.
Daniel의 말처럼 자세히 관찰하거나 Or do Object.assign을 다음과 같이 수행할 수 있습니다.
rootSearchStore = Object.assign({},roorSearchStore,{a:newVal})입니다.
또는 root Search Store 변경 타임스탬프를 확인합니다.
언급URL : https://stackoverflow.com/questions/51292803/watch-props-change-on-vuejs
'programing' 카테고리의 다른 글
현재 루트/URL에 다이내믹 브레드 크럼 컴포넌트 베이스를 구축하려면 어떻게 해야 합니까? (0) | 2022.08.11 |
---|---|
Vue3에서 어레이 타입의 프로펠러 재렌더링 회피 (0) | 2022.08.11 |
스레드 타임아웃 방법 (0) | 2022.08.10 |
Vuex를 사용하여 사용자를 로그인 상태로 유지하는 방법 (0) | 2022.08.10 |
Intelij IDEA Java 클래스가 저장 시 자동으로 컴파일되지 않음 (0) | 2022.08.10 |