programing

액션 또는 변환 내에 nameSpaceed vuex 모듈의 이름을 가져올 수 있는 방법이 있습니까?

copyandpastes 2022. 8. 16. 22:03
반응형

액션 또는 변환 내에 nameSpaceed vuex 모듈의 이름을 가져올 수 있는 방법이 있습니까?

응용 프로그램에 nameSpaced: true인 vuex 모드가 여러 개 있습니다.모듈의 동작이나 돌연변이 안에서 부모 모듈의 이름을 알고 싶습니다.

두 개의 모듈, 'a'와 'b'가 있다고 가정하면, 나는 변이를 다음과 같이 부릅니다.

this.$store.commit("a/setName", name);
this.$store.commit("b/setName", name);

setName 함수 내에서 호출 nameSpace가 무엇인지 알고 싶습니다.이것이 'a'인지 'b'인지 여부입니다.

현재 이 문제는 아직 해결되지 않은 문제입니다.vuex여기 보시는 바와 같이모듈 #1244 내에서 모듈 이름 공간에 액세스합니다.이 요청에는 많은 해결 방법이 있지만, 제공된 코드에 따라 쉬운 방법을 보여드리고 싶습니다.

이것은, 다음과 같습니다.

this.$store.commit("a/setName", name);
this.$store.commit("b/setName", name);

다음과 같은 경우가 있습니다.

this.$store.dispatch('a/setName', {namespace: "a", data: name})
this.$store.dispatch('b/setName', {namespace: "b", data: name})

네, 즉 호출하고 있는 네임스페이스의 이름을 수동으로 적용해야 하는데, 이 예에서는 이미 적용했습니다.당신의 행동에는 다음과 같은 것이 있습니다.

setName({commit}, object) {
        console.log(object.namespace); // submitted namespace
        commit('SET_THIS_NAME', object.data); // your data
    }

이는 회피책일 뿐이며, 아직 공식적으로 네임스페이스에 액세스할 수 있는 가능성은 없습니다.vuex모듈.이것은 공식적인 방법이 아니라 회피책의 한 가지 방법입니다.

언급URL : https://stackoverflow.com/questions/55514208/is-there-a-way-to-get-the-name-of-the-namespaced-vuex-module-inside-its-action-o

반응형