未知突变型vuex

时间:2019-02-08 15:13:32

标签: vue.js vuex

组件

computed: {
   score () {
    this.$store.commit('geolocation');
    console.log(this.$store.getters.lat);
   }
}

store.js

export default {
  state: {
   lat:'ok',
  },
  getters:{
    cordinate(state){
    return state.lat
    }
  },  
  mutations: {
    geolocation(state){
     state.lat
    }
  },
  actions: {
  }
}

App.js

import StoreData from'./store.js';
Vue.use(Vuex);
const store = new Vuex.Store({StoreData});
new Vue({
  el: '#app',
  data: {},
  router: router,
   store,
})

vuex的新手。试图从vuex获得价值。但由于以下错误而卡住:[vuex]未知的突变类型。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

您应该为state属性分配一些值,如下所示:

computed: {
   score () {
    this.$store.commit('geolocation',78);
    console.log(this.$store.getters.lat);
   }
}
  mutations: {
    geolocation(state,newLat){
     state.lat=newLat;
    }
  }

使用Vuex存储时,建议在方法中使用mutationsactions,并在计算属性中使用getter。

问题来源

  

在您的main.js中,您应该删除const store = new Vuex.Store(StoreData);周围的const store = new Vuex.Store({StoreData});,而拥有{}而不是 StoreData