Я пытаюсь реализовать хранилище в Vue с помощью машинописного текста y, используя Vuex-class . Для этого написано следующий код, и при создании произошла следующая ошибка. Так как это мутация, она не должна ожидать инициализации,Поправьте меня, если я ошибаюсь и в моем коде.
ERROR in C:/workspace/vue/packages/gui/src/client/services/GetSessionIdService.vue
13:46 Member 'setSessionId' implicitly has an 'any' type.
11 | })
12 | export default class GetSessionIdService extends Vue{
> 13 | @Mutation(sessionMutations.setSessionId) setSessionId;
| ^
14 | @State(state => state.session.sessionId) sessionId;
15 | public $store:any;
16 | public async getSessionIdFromService(){
Код:
import {Mutation, State} from 'vuex-class';
import {Component, Vue} from 'vue-property-decorator';
import {sessionModule, sessionMutations} from '../store/session-module';
export default class GetSessionIdService extends Vue{
@Mutation(sessionMutations.setSessionId) setSessionId;
@State(state => state.session.sessionId) sessionId;
}
Мутации:
import {Module, Mutation, VuexModule} from 'vuex-module-decorators';
const namespace = 'session';
const mutationNames = ['setSessionId'];
const sessionMutations = mutationNames.reduce((mutations: any, methodName: string) => {
const mutationName = `${namespace}/${methodName}`;
mutations[methodName] = mutationName;
return mutations;
}, {});
@Module({namespaced: true, name: namespace})
class sessionModule extends VuexModule {
public sessionId:string='';
@Mutation setSessionId(sessionId: any) {
this.sessionId = sessionId;
}
}
export {sessionModule, sessionMutations};