我已经定义了一个接口IDatatype
。
interface IDatatype {
Name: string,
...
}
interface RootState {
records: Record<string, IDatatype>
}
但是我在从Veux商店getter方法中的记录中检索值时遇到问题
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)
}
}
})
如果我修改getter方法,则可以正常工作:
getters: {
records: (state) : Record<string, IDatatype []> => {
return state.records
}
}
Object.values(store.getters.records) // works correctly