vuex 的mutation在ts文件怎么用
时间: 2024-10-15 08:24:04 浏览: 15
Vuex 是一个专为 Vue.js 应用程序设计的状态管理模式,它提供了一个集中存储状态树的方式,并通过 mutations 进行状态的更新。在 TypeScript 文件中使用 Vuex 的 mutation 需要注意以下几点:
1. 首先,你需要在 Vuex store 中创建一个 mutation 接口。这是一个纯函数,接收 state 和任意数量的参数,返回新的 state。
```typescript
import { CommitOptions } from 'vuex';
interface MyMutations {
updateCount(state: { count: number }, payload: { value: number }): void;
}
const mutations: MyMutations = {
updateCount(state: { count: number }, options: CommitOptions<number>) {
state.count += options.payload.value;
}
};
```
2. 然后,在组件中,你可以使用 `commit` 函数来触发 mutation。记得导入 `mapMutation` 或直接 import mutation 名称。
```typescript
import { mapMutation } from 'vuex';
import { updateCount } from './store/mutations';
export default {
methods: {
increment() {
this.$store.commit(updateCount, { value: 1 });
},
},
};
```
阅读全文