在 TypeScript 中使用 KnockoutObservableArray 时出错
Error when using KnockoutObservableArray in TypeScript
我有以下代码:
class IndexViewModel {
projects: KnockoutObservableArray<Project>;
constructor() {
this.projects = ko.observableArray<Project>([]);
}
filteredList: KnockoutComputed<Project[]> = ko.computed(() => {
var elements = ko.utils.arrayFilter(this.projects(), (item: Project) => {
//do something
});
//return something
})
}
但是当我加载页面时,出现 JavaScript 错误,即
TypeError: _this.projects is not a function index-ViewModel_test.js
该部分的渲染 JavaScript 是,
this.filteredList = ko.computed(function () {
var elements = ko.utils.arrayFilter(_this.projects(), function (item) {
//return something
});
//return something
})
我在这里错过了什么?
问题是计算 filteredList
时 projects
成员尚未定义。在 class 的构造函数中移动计算解决了我的问题。
代码:
constructor() {
this.projects = ko.observableArray<Project>([]);
this.filteredList = ko.computed(() => {
var elements = ko.utils.arrayFilter(this.projects(), (item: Project) => {
//return something
});
//return something
});
}
我有以下代码:
class IndexViewModel {
projects: KnockoutObservableArray<Project>;
constructor() {
this.projects = ko.observableArray<Project>([]);
}
filteredList: KnockoutComputed<Project[]> = ko.computed(() => {
var elements = ko.utils.arrayFilter(this.projects(), (item: Project) => {
//do something
});
//return something
})
}
但是当我加载页面时,出现 JavaScript 错误,即
TypeError: _this.projects is not a function index-ViewModel_test.js
该部分的渲染 JavaScript 是,
this.filteredList = ko.computed(function () {
var elements = ko.utils.arrayFilter(_this.projects(), function (item) {
//return something
});
//return something
})
我在这里错过了什么?
问题是计算 filteredList
时 projects
成员尚未定义。在 class 的构造函数中移动计算解决了我的问题。
代码:
constructor() {
this.projects = ko.observableArray<Project>([]);
this.filteredList = ko.computed(() => {
var elements = ko.utils.arrayFilter(this.projects(), (item: Project) => {
//return something
});
//return something
});
}