我这样调用不行好像,如何调用模块里面的motations呢?
在使用vuex中,我一般是分模块,开启 namespaced;
export default {
namespaced: true,
state: {
options: [],
},
mutations: {
// 添加tabs
add_tabs(state, data) {
this.state.options.push(data);
},
},
};
如果使用commit调用,如下,也就是说commit参数 tabs/
去分割模块;
this.$store.commit('tabs/set_active_index', val);
在组件中用this.$store.dispatch('name',{key:val});调用actions里的事件,actions里对应的事件自动调用mutations里的
我是这样在非组件中调用 mutations 的:
import store from '@/store/index.js'
store.commit('history/SET_LIST', to)
其中 history/SET_LIST
就是正常的 store/modules/history.js
中的 mutations
方法
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
建议定义actions,然后使用mapActions导入,再调用。不建议直接commit。