Vuex Typescript Получить значения записи - PullRequest
0 голосов
/ 06 апреля 2020

Я определил интерфейс IDatatype.

interface IDatatype {
  Name: string,
  ...
}

interface RootState {
  records: Record<string, IDatatype>
}

Однако у меня возникают проблемы с получением значений из записей в методе получения из магазина Veux

const store = new Vuex.Store<RootState>({
  state: {
    records: {},
  },
  mutations: {
    addRecords(state, records: IDatatype []) {
      records.forEach((rec) => {
        state.records[rec.Name] = rec
      })
      console.log(Object.values(state.records)) # => prints non empty list
    }
  },
  getters: {
    records: (state) : IDatatype [] => {
      console.log(state.records) # => prints non empty object
      console.log(Object.entries(state.records)) # => []
      console.log(Object.values(state.records)) # => []
      return Object.values(state.records)
    }
  }
})

Если я изменяю метод get, отлично работает следующее:

getters: {
    records: (state) : Record<string, IDatatype []> => {
      return state.records
    }
  }

Object.values(store.getters.records) // works correctly
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...