Nuxt에서는 한 모듈의 Vuex 상태를 다른 모듈에서 변환하려면 어떻게 해야 합니까?
포털에서 여러 가지 이야기를 해봤지만, 효과가 없는 것 같기 때문에, 여기에 투고해 회피책을 찾고 있습니다.
2개의 모듈이 내장되어 있습니다.Nuxtjs
응용 프로그램 폴더store\modules
:ModuleA
그리고.ModuleB
에 대한 검증이 필요합니다.ModuleB
액세스 하고 싶다state
부터ModuleA
무슨 이유에선지 실패하고 있어요
나는 노력했다.rootScope
,import
제겐 효과가 없었어요.
나의state/modules/ModuleA.js
:
export const state = () => ({
eventType: 'MyEvent',
})
export const mutations = {
eventTypePopulator (state, event) {
state.eventType = event
},
}
나의state/modules/ModuleB.js
:
export const state = () => ({
input: {}
})
export const mutations = {
jsonPreparation ({state, rootState}, payload) {
console.log(rootState.eventType)
// console.log($store.state.ModuleA.eventType)
}
}
Import를 시도했습니다.ModuleA
안으로ModuleB
사용했지만, 그것 또한 나에게 효과가 없었다.누가 좀 도와주실 수 있나요?state
하나에서Module
다른 곳에서Module
이내에Nuxtjs/Vuejs
API 레퍼런스에 나타난 바와 같이rootState
에서 입수할 수 있습니다.actions
그리고.getters
.
직접 사용할 수 있는 방법은 발견되지 않았습니다.mutation
.
한편, 이것은 param으로서 param으로 전달함으로써 달성할 수 있습니다.mutation
이것처럼.
ModuleB.js
const mutations = {
NICE_TASTY_MUTATION: (_state, { rootState, payload }) => {
// _state is not used here because it's moduleB's local state
rootState['moduleA'].eventType = payload
},
}
const actions = {
async myCoolAction({ commit, rootState }, { ...}) {
commit('NICE_TASTY_MUTATION', {
rootState,
payload: 'some-stuff'
})
}
}
그리고 이건 '아저씨'라고 불릴 수 있습니다..vue
이와 같은 것을 철하다
methods: {
...mapActions('ModuleB', ['myCoolAction']),
}
...
await this.myCoolAction()
PS: IMO 규약은 파일 이름을 붙이는 것에 더 가깝습니다.module_b.js
.
언급URL : https://stackoverflow.com/questions/69133561/in-nuxt-how-to-mutate-a-vuex-state-in-one-module-from-the-other
'source' 카테고리의 다른 글
null Boolean이 true인지 여부를 확인합니다. 결과는 예외입니다. (0) | 2022.07.23 |
---|---|
vue + axios를 사용하여 비동기 / wait in get 요청을 사용하는 방법 (0) | 2022.07.23 |
Vue Post 함수가 null 본문을 전송합니다. (0) | 2022.07.17 |
Vue 3: 상위 항목이 데이터 가져오기가 완료될 때까지 기다렸다가 하위 데이터를 가져오고 로더를 표시합니다. (0) | 2022.07.17 |
음, 당신은 PRIU64가 누군가요? (0) | 2022.07.17 |