Я получаю исключение TypeError: state.projects.load is not a function
при доступе к геттеру projects
в блоке кода ниже.
class ProjectList extends Array {
initialised: boolean = false
load() {
// loads data into the array
return
}
}
const store = new Vuex.Store({
state: {
projects: new ProjectList()
},
mutations: {
add_project(state, p) {
state.projects.push(p)
}
},
getters: {
projects: state => {
if (!state.projects.initialised) {
state.projects.load()
}
return state.projects
}
}
})
Похоже, что проблема связана с ProjectList
расширением Array
, так как тестирование простого случая вызова метода в классе без суперкласса работает нормально.
Есть ли у кого-нибудь предложения о том, как правильно ссылаться на объект в Vuex, который использует класс, расширяющий Array
?