현재 페이지를 새로 고침하는 세 가지 방법 - 사전 업데이트 상황에서 페이지가 새로 고침되지 않은 문제를 해결합니다
1713 단어 vue
프로젝트 1 (추천하지 않음)this.$router.go(0). 루트 점프 방식을 통해 페이지를 다시 렌더링하면 코드량이 적고 쓰기와 이해가 편리하지만 체험이 좋지 않아 리셋하는 순간 흰색 화면이 나타난다.
프로젝트 2 (추천하지 않음) location.reload(). 이 방법은 단지 하나의 매개 변수만 있습니다. 값이true일 때 브라우저가 서버에서 페이지 자원을 불러오도록 강요하고, 값이false일 때나 참조되지 않을 때 브라우저는 캐시에서 페이지를 읽을 수 있습니다.단점: 이 방법은 크로스 호출 (이 방법을 실행하는 스크립트 파일의 크로스와 로케이션 대상이 있는 페이지의 크로스가 다르다) 에서 DOMException 이상을 던집니다.또한 페이지를 새로 고칠 때 흰색 화면이 나타나는 현상도 마찬가지다.
프로젝트 3 (provide/inject 조합)
원리: 하나의 조상 구성 요소가 모든 자손 후손에게 의존을 주입하도록 허용한다. 구성 요소의 차원이 아무리 깊어도 상하류 관계가 성립되는 시간에 시종 효력이 발생한다.알림:provide와 inject가 연결되어 있는 것은 응답할 수 있는 것이 아닙니다.이것은 고의로 한 것이다.그러나 만약 당신이 감청 가능한 대상을 전송한다면, 그 대상의 속성은 응답할 수 있습니다.
APP에 있습니다.vue에서,reload 방법을 설명하고,router-view 모듈의 표시나 숨김을 제어하여, 페이지의 다시 불러오는 것을 제어합니다.
export default {
name: 'App',
provide () {
return {
reload: this.reload
}
},
data () {
return {
isRouterAlive: true
}
},
methods: {
reload () {
this.isRouterAlive = false
this.$nextTick(function () {
this.isRouterAlive = true
})
}
}
}
리셋이 필요한 페이지에서 inject의reload 의존을 직접 주입하고 논리 작업이 끝난 후 리셋이 필요한 위치에서this를 사용합니다.reload () 호출을 사용하면 현재 페이지를 새로 고칠 수 있습니다.export default {
inject: ["reload"], // reload
data() {
return {
};
},
methods: {
handleClick() {
//
//.......
this.reload(); //
}
},
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.