Typescript Vuex - Как определить состояние с помощью сеттера и геттера? - PullRequest
0 голосов
/ 02 июня 2019

В хранилище vuex я хочу инициализировать состояние с именем _token.Когда я пытаюсь получить доступ к свойству в том же классе, он выдает мне сообщение об ошибке, что установщик для _token не определен.У кого-нибудь есть идея, почему доступен только геттер?

export default class Api extends VuexModule {
  public _token = '';

  @Action
  public async [VuexActionsApi.VerifyUser](data: any): Promise<IResponseState> {
    const vuexInstance = this;

    // this is not working
    vuexInstance._token = "test";
}

log output

Ответы [ 2 ]

1 голос
/ 02 июня 2019

Если вы собираетесь использовать декораторы классов, вы должны импортировать их (и установить пакет) следующим образом:

import Action from 'vue-class-component'

Хотя я мог бы посоветовать использовать этот синтаксис, поскольку он устарел в vue3, см.здесь: https://github.com/vuejs/rfcs/pull/17#issuecomment-494242121

0 голосов
/ 02 июня 2019

Кажется, теперь работает, когда я определил состояние следующим образом:

public data = {
  bearerToken: undefined
};

Теперь функции установки и получения созданы правильно. У кого-то есть идея, почему первый подход не сработал?

...