Как использовать MutationAction в vuex-module-decorators? - PullRequest
1 голос
/ 17 апреля 2019

Я пытаюсь использовать vuex-module-decorators из https://championswimmer.in/vuex-module-decorators. Допустим, состояние моего модуля имеет реквизит dir, это дикт: {[key: string]: string} Могу ли я использовать @MutationAction для обновления элемента этого дикта? Приведенный ниже код неверен, но, надеюсь, он понял, что я имею в виду.

export default class Module extends VuexModule {
  dir: {[key: string]: string}

  @MutationAction(???)
  updateDir(keyValue) {
    return keyValue // ???
  }
}

Есть ли какой-нибудь документ о том, как использовать @MutationAction, какие аргументы он принимает и какую именно мутацию он совершает?

1 Ответ

0 голосов
/ 26 апреля 2019

Я новичок в vuex, так или иначе, это компилируется:

export class MyModule extends VuexModule {

    public dir: { [key: string]: string } = {};

    @MutationAction({ mutate: ['dir'] })
    public async updateDir(key: string, value: string) {
        const newDir: { [key: string]: string } = {};
        newDir[key] = value;
        return {
            dir: newDir,
        };
    }

    @MutationAction({ mutate: ['dir'] })
    public async addToDir(key: string, value: string) {
        this.dir[key] = value;
        return {
            dir: this.dir,
        };
    }
}

Обратите внимание, что я не знаю, допустимо ли изменять и переназначать переменную 'dir', как я делаю во второй функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...