반응형
Vuex 반환 "TypeError: 정의되지 않은 속성 '게터'를 읽을 수 없음"
Vuex는 내 loading_state에 대한 getter를 찾지 못하는 것 같다.
그러나 Vuex 상태와 게터는 여전히 Vue 개발자 도구에 등록된다.나는 단지 내 지원서에 그들에게 전화할 수 없는 것 같다.
나는 다른 방법으로 게터에게 전화를 걸면서 변수 이름을 바꾸려고 시도했다.
loading_store.js
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
export const loading_store = new Vuex.Store({
state: {
loading: true
},
mutations: {
setFalse(state) {
state.loading = false;
},
setTrue(state) {
state.loading = true;
}
},
getters: {
isLoading: state => {
return state.loading;
}
}
});
앱뷰
<template>
<div id="app">
<Navigation />
<loading-spinner v-if="isLoading" />
<router-view class="m-3" />
</div>
</template>
<script>
import Navigation from "@/components/Navigation";
import LoadingSpinner from "@/components/LoadingSpinner";
import { mapGetters } from "vuex";
export default {
name: "app",
components: {
LoadingSpinner,
Navigation
},
metaInfo: {
title: "SnowStats"
},
computed: {
...mapGetters(["isLoading"])
}
};
</script>
main.js.
import Vue from "vue";
import App from "./App.vue";
//////////
import { loading_store } from "./state/loading_store";
/////////
new Vue({
state: loading_store,
router,
render: h => h(App)
}).$mount("#app");
오류 메시지:
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in render: "TypeError: Cannot read property 'getters' of undefined"
found in
---> <App> at src/App.vue
<Root>
TypeError: Cannot read property 'getters' of undefined
at VueComponent.mappedGetter (vuex.esm.js?2f62:896)
at Watcher.get (vue.runtime.esm.js?2b0e:4473)
at Watcher.evaluate (vue.runtime.esm.js?2b0e:4578)
at VueComponent.computedGetter [as isLoading] (vue.runtime.esm.js?2b0e:4830)
at Object.get (vue.runtime.esm.js?2b0e:2072)
at Proxy.render (eval at ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"34f9cbf8-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/App.vue?vue&type=template&id=7ba5bd90& (app.js:947), <anonymous>:13:11)
at VueComponent.Vue._render (vue.runtime.esm.js?2b0e:3542)
at VueComponent.updateComponent (vue.runtime.esm.js?2b0e:4060)
at Watcher.get (vue.runtime.esm.js?2b0e:4473)
at new Watcher (vue.runtime.esm.js?2b0e:4462)
정확한 구문은
new Vue({
store: loading_store,
router,
render: h => h(App)
}).$mount("#app");
반응형
'programing' 카테고리의 다른 글
v-select를 복제 및 필터링 (0) | 2022.04.17 |
---|---|
깊은 중첩 객체의 반응성이 작동하지 않음 (0) | 2022.04.17 |
혼동: @NotNull vs. JPA 및 최대 절전 모드와 함께 @Column(nullable = false) (0) | 2022.04.17 |
페이지에 필요한 경우 Vuex API 호출 (0) | 2022.04.16 |
Vue.js로 대용량 파일을 스트리밍 다운로드가 가능한가? (0) | 2022.04.16 |