vuewatch 데이터 해결 방법 두 번 호출된 문제
라우팅 구조/video/1.mp4, 즉/video는 부모 루트,/1.mp4는/video의 동적 하위 루트입니다./video 부모 루트에서 url의params를 통해 영상 정보를 얻을 수 있습니다. 즉,/1.mp4에서 대응하는 영상의 완전한 정보를 얻은 다음props를 통해 동적 하위 루트로 전송하고 하위 루트는 받아들인 영상 대상을 통해 전시한다
질문:
루트가 전환될 때, 즉 내가 다른 영상을 눌렀을 때, 동적 하위 루트의 변화를 초래할 때, 나는/video 부모 루트의 변화를 감청하고 url의params에 따라 영상 대상을 얻고props를 통해 하위 루트에 자동으로 전송한다. 나는 하위 루트에서watch 영상 대상을 통해 조작을 한다. 결과
watch: {
video () {
console.log("test")
}
}
test는 두 번 인쇄되었습니다. 한 번 검색을 통해 하위 루트가 전환될 때 부모 루트/비디오의 데이터 데이터가 기본값으로 초기화되기 때문에 비디오 대상이 두 번 바뀌었습니다. 한 번은 기본값이 빈 대상으로 초기화되고 한 번은 요청한 정확한 데이터입니다.끝:
비디오 대상을 vuex에 저장하고 부모 루트는 vuex의 비디오 대상을 하위 루트로 전송하면 됩니다.
보충 지식: vue watch가 대상이나 그룹일 때 newvalue는oldvalue와 같다
공식 코드를 고쳐 썼습니다. 깊이watch가 대상일 때 newval과oldval의 값은 왜 같을까요?
var vm = new Vue({
data: {
a: 1,
c:{
c1:1,
c2:2
}
},
watch: {
'a': function (val, oldVal) {
console.log(val, oldVal,(val== oldVal))
},
//
'b': 'someMethod',
// watcher
'c': {
handler: function (val, oldVal) {
console.log(val, oldVal,(val== oldVal))
},
deep: true
}
}
})
vm.a = 2
vm.c.c1 = 2
깊이와 상관없이 객체나 그룹을 수정(교체하지 않음)하면 새 값과 이전 값이 동일하게 인덱스되므로 새 값과 동일합니다.Vue는 수정된 이전 값의 사본을 유지하지 않습니다.이상의 vue watch 데이터를 해결하는 방법이 두 번 호출된 문제는 바로 편집자가 여러분에게 공유한 모든 내용입니다. 참고 부탁드리고 저희를 많이 사랑해 주세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.