报错信息
store/modules/cartStore.js
const cartStore = {
namespace: true,
state: {
num: localStorage.getItem('cartNum') || 1,
},
getters: {
},
mutations: {
setNum(state) {
state.num++;
localStorage.setItem('cartNum', state.num);
},
},
actions: {
}
}
export default cartStore;
store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
import cartStore from './modules/cartStore'
import pathStore from './modules/pathStore'
export default new Vuex.Store({
modules: {
cartStore,
pathStore
}
})
views/Car.vue
<template>
<div class="home">
{
{ cartNum }}
<button @click="addCartNum">持久化加1</button>
</div>
</template>
<script>
import {
mapMutations, mapState } from 'vuex'
export default {
name: 'Home',
data() {
return {
}
},
methods: {
...mapMutations('cartStore',
['setNum']
),
addCartNum() {
this.setNum();
},
},
}
</script>
找了半天什么问题都没发现,最后仔细看才发现
命名空间应该用namespaced
, 我写成了namespace
,改一下就好了。。。。