source

다른 모듈의 getter를 사용하여 Vuex 상태를 설정하는 방법

gigabyte 2022. 8. 27. 10:07
반응형

다른 모듈의 getter를 사용하여 Vuex 상태를 설정하는 방법

VueJs에서 애플리케이션을 구축하고 있는데 Vuex 모듈에서 문제가 발생하고 있습니다.

어떤 시도를 해도 다른 모듈에서 호출할 때 모듈의 상태를 가져올 수 없습니다.

내 Vue Devtools Vuex getters: modA/mycustomer: 정의되지 않음

Vuex 웹사이트에서 모든 문서를 읽고 stackoverflow에서 이미 제공된 솔루션 중 몇 가지를 시도했지만 잘 모르겠습니다.뭔가 간과하고 있는 것 같아

내 스토어.인텔

  export default new Vuex.Store({
    modules: {
      modA: moduleA,
      modB: moduleB
    }
  })

모듈 A JS

  export default {
    namespaced: true,
    state:{
       customerId:0
    },
    getters: {
       customerId: state => {
          return state.customerId
       }      
    }
  }

모듈 Bjs

   export default {
     namespaced: true,
     state:{
       orderId:0
    },
     getters: {
       orderId: state => {
          return state.orderId
       },
       mycustomer: rootGetters => {
          return rootGetters['modA/customerId']
       }
     }
  }

저는 보통 이 요청으로 customerId를 얻을 수 있습니다.그러나 정의되지 않은 모듈에만 일부 상태가 필요합니다.

관련 문서에는 "Nameshed Modules 글로벌 자산에 액세스하기"라고 기재되어 있습니다.

글로벌 스테이트와 getter를 사용하는 경우rootState그리고.rootGettersgetter 함수에 대한 세 번째 및 네 번째 인수로 전달되며 작업 함수에 전달된 컨텍스트 객체의 속성으로도 노출됩니다.

이 때문에, 에 액세스 하고 싶은 경우는,customerId의 취득자modA내부 모듈mycustomer에 끼어들다modB모듈, 다음과 같아야 합니다.

mycustomer(state, getters, rootState, rootGetters) {
  return rootGetters['modA/customerId']
}

언급URL : https://stackoverflow.com/questions/55674965/how-to-vuex-state-with-a-getter-within-a-module-from-another-module

반응형