加载observableArray

时间:2017-08-15 02:05:46

标签: typescript knockout.js

我在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>([]);

1 个答案:

答案 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
        )));