无法读取未定义的 VueJS 的 属性 'dispatch'
Cannot read property 'dispatch' of undefined VueJS
我在方法 drawMap() 中调用突变操作时遇到问题。
所以,我在 main.js
中注册了我的商店组件
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
在我的组件下方,我在另一个方法 DRAWMAP 中调用操作,但出现错误
'Cannot read property 'dispatch' of undefined VueJS '
。我做错了什么?
<script>
window.jQuery = require('jquery');
var $ = window.jQuery;
require('jvectormap');
require('../lib/jquery.vmap');
require('../lib/jquery.vmap.ukraine');
import {mapGetters} from 'vuex';
export default {
data() {
return {
currentRegion: 'Львівська область',
counter: 0
}
},
mounted() {
this.drawMap();
this.$store.dispatch('SET_REGION', this.currentRegion);
},
computed: {
...mapGetters(['CHOOSED_REGION']),
},
methods: {
drawMap(){
$('#vmap').vectorMap({
map: 'ukraine_ua',
onRegionClick: function(element, code, region)
{
this.currentRegion = region;
this.$store.dispatch('SET_REGION', this.currentRegion);
}
});
},
}
}
</script>
尝试更改 onRegionClick
以使用箭头函数,以便 this.$store.dispatch
引用顶级对象。
onRegionClick: (element, code, region) => {
this.currentRegion = region;
this.$store.dispatch('SET_REGION', this.currentRegion);
}
我在方法 drawMap() 中调用突变操作时遇到问题。
所以,我在 main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
在我的组件下方,我在另一个方法 DRAWMAP 中调用操作,但出现错误
'Cannot read property 'dispatch' of undefined VueJS '
。我做错了什么?
<script>
window.jQuery = require('jquery');
var $ = window.jQuery;
require('jvectormap');
require('../lib/jquery.vmap');
require('../lib/jquery.vmap.ukraine');
import {mapGetters} from 'vuex';
export default {
data() {
return {
currentRegion: 'Львівська область',
counter: 0
}
},
mounted() {
this.drawMap();
this.$store.dispatch('SET_REGION', this.currentRegion);
},
computed: {
...mapGetters(['CHOOSED_REGION']),
},
methods: {
drawMap(){
$('#vmap').vectorMap({
map: 'ukraine_ua',
onRegionClick: function(element, code, region)
{
this.currentRegion = region;
this.$store.dispatch('SET_REGION', this.currentRegion);
}
});
},
}
}
</script>
尝试更改 onRegionClick
以使用箭头函数,以便 this.$store.dispatch
引用顶级对象。
onRegionClick: (element, code, region) => {
this.currentRegion = region;
this.$store.dispatch('SET_REGION', this.currentRegion);
}