我在使用this。$ store.dispatch('lookupName')从Vue组件调用动作时遇到问题。我已经尝试过控制台记录this。$ store方法,但是其中的操作为空。
Main.js
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
store / index.js
import Vue from 'vue'
import Vuex from 'vuex'
import { findCertificate } from '@/api';
Vue.use(Vuex)
const state = {
// single source of data
nameLookup: {},
}
const actions = {
// asynchronous operations
lookupName(context, form){
return findCertificate(form)
}
}
const store = new Vuex.Store({
state,
actions,
mutations,
getters
})
export default store
Vue组件
import VueRecaptcha from 'vue-recaptcha';
import { mapGetters, mapActions} from 'vuex'
export default {
created() {
},
methods: {
...mapActions({
lookupName: 'lookupName'
}),
...mapActions({
add: 'lookupName'
}),
onCaptchaVerified: function(recaptchaToken){
this.$refs.recaptcha.reset();
console.log(this.$store.dispatch('lookupName', this.form))
},
}
}
为什么我仍然收到此错误?我查了很多其他人对类似问题的疑问,但这些解决方案对我不起作用。