У меня есть модуль Vuex с пространством имен.Если я фиксирую мутацию следующим образом:
this.$store.commit('myModuleName/' + mutationTypes.SOME_MUTATION_TYPE)
Это работает хорошо.Однако у меня есть несколько mutation-types.js
файлов, которые я импортирую, чтобы получить имена мутаций четко определенных модулей и - чтобы не упоминать имя модуля все время - я нашел следующее решение в mutation-types.js
:
let prefix = 'myModuleName'
export const SOME_MUTATION_TYPE= prefix + 'SOME_MUTATION_TYPE'
//or as follows, the same result:
export const SOME_MUTATION_TYPE= 'myModuleName/SOME_MUTATION_TYPE'
И если я затем фиксирую ту же мутацию следующим образом:
this.$store.commit(mutationTypes.SOME_MUTATION_TYPE)
Мутация не зафиксирована и получена следующая ошибка:
[vuex] unknown mutation type: myModuleName/SOME_MUTATION_TYPE
То, что я фиксирую, на самом деле то же самоеоднако в обоих случаях в последнем случае я получаю эту ошибку.
Почему это так?Это то, что мы можем решить?Или какой лучший / часто используемый способ реализовать это?