使用observableArray初始化计算变量

时间:2013-09-19 07:05:06

标签: javascript knockout.js typescript

我试图过滤一个可观察数组并将过滤后的数组存储到一个计算变量中。我写了一个Typescript类构造函数,里面的代码如下:

var self = this;
self.Items = ko.observableArray(ko.utils.arrayMap(data.Items, function (item: IShipmentItem) {
        return new _refShipmentItem.Model.ShipmentItem(item);
    }));
self.FrtDetlRowItems = ko.computed(function () {
        var frtdetlRows = ko.observableArray<_refShipmentItem.Model.ShipmentItem>([]);
        ko.utils.arrayForEach(self.Items(), function (item) {
            if (item.AccessorialId == '1' && item.Cost != '') {
                frtdetlRows.push(item);
            }
        });
        return frtdetlRows;
    });

但每当我在Console中检查时,“FrtDetlRowItems”给我“未定义”。 我做错了什么? 请帮忙

1 个答案:

答案 0 :(得分:1)

我需要返回如下:

return frtdetlRows();

来自计算函数。