组件
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]未知的突变类型。我想念什么吗?
答案 0 :(得分:1)
您应该为state属性分配一些值,如下所示:
computed: {
score () {
this.$store.commit('geolocation',78);
console.log(this.$store.getters.lat);
}
}
mutations: {
geolocation(state,newLat){
state.lat=newLat;
}
}
使用Vuex存储时,建议在方法中使用mutations
和actions
,并在计算属性中使用getter。
问题来源
在您的
main.js
中,您应该删除const store = new Vuex.Store(StoreData);
周围的const store = new Vuex.Store({StoreData});
,而拥有{}
而不是StoreData