vuex中setter的具体写法
时间: 2023-07-08 10:20:20 浏览: 185
在 Vuex 中,Setter 是通过 mutations 来实现的,因为 Vuex 规定只能通过 mutations 来修改 state 中的数据。
在定义 mutations 时,需要给它传入一个参数 state,这个参数就是 Vuex 中的状态。在 mutations 中,我们可以定义一些方法,用来修改 state 中的数据。
下面是一个示例代码,演示如何在 mutations 中定义一个 setter:
```
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
setCount(state, payload) {
state.count = payload;
}
}
})
```
上面代码中,我们在 mutations 中定义了一个名为 `setCount` 的方法,它接收两个参数:state 和 payload,其中 state 是 Vuex 中的状态对象,payload 是传入的参数,用来更新 state 中的数据。
我们可以通过 `commit` 方法来调用 mutations 中的 `setCount` 方法,从而修改 state 中的数据。例如:
```
store.commit('setCount', 10);
```
上面代码中,我们通过 `commit` 方法来调用 `setCount` 方法,将 count 的值修改为 10。
需要注意的是,在 Vuex 中,所有的数据修改都必须通过 mutations 来实现,否则会报错。因为 mutations 是同步执行的,所以它可以确保 state 中的数据被正确地更新。
阅读全文