반응형
Nuxt.js: vuex에서 표시기 로드 시작
매뉴얼에 따르면 컴포넌트 내의 nuxt 로딩 인디케이터를 수동으로 기동하는 방법이 있습니다.
export default {
methods: {
startLoading() {
this.$root.$loading.start();
},
},
}
로더와 vuex 작업을 전환할 수 있는 방법이 있습니까?어떻게 하면$root
vuex 작업의 개체를 선택하십시오.
멋지다! 보아하니 이 정보는window
클라이언트에서 사용할 수 있는 속성.액션이 서버가 아닌 클라이언트에서 실행되고 있는지 확인하는 것이 좋습니다.process.browser
:
export const actions = {
startLoading({ commit }) {
if (process.browser) {
window.$nuxt.$root.$loading.start();
}
commit('SET_LOADING', true);
},
finishLoading({ commit }) {
if (process.browser) {
window.$nuxt.$root.$loading.finish();
}
commit('SET_LOADING', false);
},
}
꽤 멋있다.액션은 Axios 인터셉터에서 호출되므로 서버에 요청을 할 때 글로벌하게 로드됨을 나타냅니다.
사용하고 있다layouts/default.vue
현재 프로세스가 서버 측인지 클라이언트 측인지 확인하는 파일입니다.예:
<template>
<div class="fontFamily">
<Nuxt v-if="isClient" />
<div v-else class="container">
<img class="logo" src="~/assets/images/logo-hori.png" />
</div>
</div>
</template>
<script>
export default {
data() {
return {
isClient: false
}
},
beforeMount () {
this.isClient = false
},
mounted() {
this.isClient = true
}
}
</script>
서버 쪽이면 앱 로고를 반환하고 클라이언트 쪽이면 앱을 반송합니다.마운트 후에도 스토어에 액세스할 수 있습니다.
언급URL : https://stackoverflow.com/questions/51270636/nuxt-js-start-loading-indicator-from-vuex
반응형
'programing' 카테고리의 다른 글
Vue.js는 여러 클릭 이벤트를 처리합니다. (0) | 2022.08.11 |
---|---|
계산된 속성 내에서 getter를 호출하는 방법 (0) | 2022.08.11 |
다음 오류가 nuxt에 표시됨: [vuex] 변환 핸들러 외부의 vuex 저장소 상태를 변환하지 않음 (0) | 2022.08.11 |
주요 메서드 Java의 "String args[]" 매개 변수란 무엇입니까? (0) | 2022.08.11 |
이것과의 차이점.$parent.$170이랑 이거요.$140 (0) | 2022.08.11 |