Если вы вызываете действия вручную (как в вашем try / catch), они не получат контекст хранилища в качестве первого аргумента.Вы могли бы использовать getUsersList(this.store)
Я думаю , но вместо этого я бы использовал диспетчеризацию для выполнения всех ваших действий.(Я немного отредактировал, чтобы получить минимальный пример выполнения, но я думаю, что вы поняли!)
new Vue({
render: h => h(App),
created() {
this.$store.dispatch('getUsersList');
},
store: new Vuex.Store({
getters: {
getUsersList: state => state.userResponse
},
actions: {
getUsersList
}
})
}).$mount("#app");
Кроме того, используйте commit
для достижения мутаций вместо dispatch
.т.е.:
export const getUsersList = function ({commit}) {
let url = '/Apis/allUsers';
Vue.http.get(url).then((response) => {
commit('GET_USER_RES', response.data); // because GET_USER_RES is a mutation
...