반응형
페이지 라우터용 vue-properner
나는 부에 스피너를 사용하고 코드와 박스에 대한 프로젝트가 있다.
메인 페이지는 홈이다.다른 구성 요소에 대한 링크가 있는 vue:
<router-link to="/">Home</router-link>
<router-link to="/helloworld">Hello World</router-link>
<router-link to="/bigimg">Big Img</router-link>
main.js:
import Vue from "vue";
import App from "./App";
import router from "./router";
Vue.config.productionTip = false;
/* eslint-disable no-new */
new Vue({
el: "#app",
router,
components: { App },
template: "<App/>"
});
router.beforeEach((to, from, next) => {
//loading = true;
next();
});
fishtripr.com 웹사이트(vue 웹사이트)처럼 로더를 만들고 싶다.
질문:페이지 간 이동 시 vue 웹 사이트 로더를 만드는 방법 및 로더를 만드는 방법(vue-spinner)NProgress.start()
&NProgress.done(
) )?
내 생각에 가장 좋은 방법은 데이터 속성을 갖는 것이다.loading
하기로 되어 있는true
(혼합으로 이 작업을 수행할 수 있음) 서버가 실제 데이터로 응답한 후 로더를 설정하여 해제하십시오.this.loading = false
. 이런 논리를 지구촌에 집어넣을 수는 없을 것 같다.router.beforeEach
구성 요소에 대한 액세스 권한이 없기 때문에이 경우 논리를 적용해야 한다.beforeRouteUpdate
이상적이라고 생각하진 않지만
너는 혼용할 필요가 있다.router.beforeEach
그리고 Justin이 언급한 대로 수동으로 변수를 업데이트한다.많은 구성요소가 데이터를 바꿀 것이기 때문에 vuex와 같은 것이 이 경우에 타당할 것이다.
vuex 스토어에서
mutations: {
resetLoading(state){
state.isLoading = true
},
// This needs to be called on each component individually
finishedLoading(state){
state.isLoading = false
},
..
라우터를 위한 이와 같은 것
router.beforeEach((to, from, next) => {
store.commit("resetLoading")
next()
})
그런 다음 구성 요소에서
..
created(){
var self = this
this.$store.dispatch("fetchData").then(function(){
self.$store.commit("finishedLoading")
})
},
..
참조URL: https://stackoverflow.com/questions/52568186/vue-spinner-for-page-router
반응형
'Programing' 카테고리의 다른 글
각도에서 http 통화 신청을 취소해야 하는 거야? (0) | 2022.03.20 |
---|---|
조건일 경우 다른 조치 후 Redex 호출 조치 (0) | 2022.03.20 |
Vue 계산된 속성이 데이터 개체 변경 (0) | 2022.03.20 |
반응에서 형제 구성 요소의 상태를 쉽게 설정하는 방법 (0) | 2022.03.20 |
임의/일반 소품이 있는 구성 요소를 TypeScript에서 reaction-remensx 연결 기능으로 전달 (0) | 2022.03.20 |