我在Typescript中使用Knockout,我想将从db返回的数据加载到observableArray中。
我尝试了下面的代码,但我得到了一个例外:
对象不支持属性或方法'map'
在构造函数中:
this.boxes = ko.observableArray<Box>(data[0].box || []).map(e => new Box(
e.index,
e.title,
e.value,
e.category
));
this.boxes = ko.observableArray<Box>([]);
答案 0 :(得分:1)
map
是普通JavaScript数组上的方法,而不是ObservableArray
,因此您需要先将响应数据中的数组映射传递给ko.observableArray<Box>()
:< / p>
this.boxes = ko.observableArray<Box>((data[0].box || []).map(e => new Box(
e.index,
e.title,
e.value,
e.category
)));