如何调用modules中其他脚本的mutations中的函数
时间: 2024-05-03 18:19:21 浏览: 59
在Vuex中,mutations只能通过commit方法调用,因此如果要在一个模块中调用另一个模块中的mutation,需要使用rootState和rootGetters。
rootState可以访问到全局的state,rootGetters可以访问到全局的getters。因此,可以通过以下方式在一个模块中调用另一个模块中的mutation:
```javascript
// 在modules中定义两个模块
const moduleA = {
state: { ... },
mutations: {
// 定义mutation
increment(state) { ... }
},
actions: { ... },
getters: { ... }
}
const moduleB = {
state: { ... },
mutations: {
// 在mutation中调用moduleA中的mutation
incrementA(state, rootState) {
rootState.moduleA.increment()
}
},
actions: { ... },
getters: { ... }
}
```
在上面的例子中,moduleB中的incrementA mutation可以通过rootState访问到全局的state,从而访问到moduleA的increment mutation,并且可以通过rootState调用它。
需要注意的是,这种方式不是很推荐,因为它打破了模块化的原则。如果你需要在一个模块中调用另一个模块中的mutation,可能需要重新考虑你的架构设计。
阅读全文