Всякий раз, когда я отправляю данные в хранилище vuex, используя ответ axios, например,
** Sidebar.vue **
created(){
this.getRoles();
},
methods: {
getRoles(){
var _this = this
var roles = null
this.$http.get('/api/userroles/userroles').then(function(response){
// Passing data to vuex within response
_this.$store.dispatch('setUserRoles', response.data.data)
}
}
check_role(){
}
}
и когда я консоль в боковой панели, как console.log (this. $ Store.state.userStore.roles) это имеет значение, но когда я консоль в приборной панели, он возвращает ноль, и когда я вижу vuex chrome расширение, оно содержит значение (предоставленное изображение ниже), но в инструментальной панели возвращает ноль
eg in dashboard
** dashboard.vue **
created(){
console.log(this.$store.state.userStore.roles)
// null
},
Теперь, когда я отправляю vuex вне ответа axios, он работает отлично и дает значение в панели мониторинга, но выдает ошибку, например, Error: [vuex] Не изменяйте состояние хранилища vuex вне обработчиков мутаций. например
created(){
this.getRoles();
},
methods: {
getRoles(){
var _this = this
var roles = null
this.$http.get('/api/userroles/userroles').then(function(response){
_this.roles_data = response.data.data
}
_this.$store.dispatch('setUserRoles', _this.roles_data)
}
}
например, в панели инструментов, это дает значение, если я использую диспетчерскую работу вне axios
** dashboard.vue **
created(){
console.log(this.$store.state.userStore.roles)
// (25) [{…}, {…}, {…}, __ob__: Observer]
},
Я что-то упустил ???