You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
515 B
TypeScript
23 lines
515 B
TypeScript
4 years ago
|
import { Action, Module, Mutation, VuexModule } from 'vuex-module-decorators';
|
||
|
|
||
|
@Module({ namespaced: true })
|
||
|
export default class IndexModule extends VuexModule {
|
||
|
count = 1;
|
||
|
|
||
|
@Mutation
|
||
|
increment(delta: number): void {
|
||
|
this.count += delta;
|
||
|
}
|
||
|
@Mutation
|
||
|
decrement(delta: number): void {
|
||
|
this.count -= delta;
|
||
|
}
|
||
|
|
||
|
@Action({ commit: 'increment' })
|
||
|
async incr(payload: number): Promise<number> {
|
||
|
return new Promise((resolve) => {
|
||
|
setTimeout(() => resolve(payload), 1000);
|
||
|
});
|
||
|
}
|
||
|
}
|