Я определил интерфейс 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