这是页面,在created的时候派发了一个action
created () {
this.$store.dispatch('refreshMenuTree', this.common.userId)
},
action
refreshMenuTree ({commit}, payload) {
commonApi.getUserMenu({
userId: payload
}).then(({data: {resultCode, result, msg}}) => {
commit(types.SAVE_MENU_TREE, result)
})
}
然后commit
[types.SAVE_MENU_TREE] (state, payload) {
state.menuList = payload
}
然后state
const initState = {
activeSubmenu: [],
activeMenuIndex: '',
showLastLogin: true,
menuList: []
}
export default {
state: {
token: '',
userId: '',
username: '',
...initState,
initState
}
}
控制台里state数据也改变了,但是getter除了第一次state获取到数据之后渲染出来,之后state再更新数据getter都没发生改变,对了我所有的文件都是分模块放的,如图:
控制台里能看出state和getter中的menuList不一样
这是为啥?