Единственный случай, когда я могу вспомнить, что действие существует только в некоторых случаях, это когда вы используете vuex registerModule .
Если это так, то вы можете добавить Boolean
свойство, указывающее, что модуль зарегистрирован или нет.Итак, в вашем компоненте:
const myModule = () => import('module-path.js')
export default {
data: () => ({
isModuleRegistered: false
}),
created() {
myModule.then(module => {
this.isModuleRegistered = true
this.$store.registerModule('myModule', module)
this.$store.dispatch('myModule/someAction')
})
},
beforeDestroy () {
// If you want to unregister it when component gets destroyed
this.isModuleRegistered && this.$store.unregisterModule('myModule')
}
}
Если приведенный выше фрагмент не отвечает на ваш вопрос или не соответствует вашим потребностям: вы должны установить логическое свойство при регистрации модуля.И затем проверьте это логическое значение, чтобы увидеть, зарегистрирован модуль или нет.Вы также должны изменить это логическое значение, когда модуль становится незарегистрированным.
Примечание , что выше, я только что загрузил модуль vuex.Если вы хотите лениво загрузить свои модули vuex, прочитайте эту замечательную статью , чтобы узнать больше