过滤observableArray的麻烦

时间:2015-03-24 21:13:46

标签: javascript knockout.js

我需要创建一个新数组,它只包含值为" pos"等于零或更大。我的源对象数组:

self.appendableData = ko.observableArray([
    {text: "some text 1", pos: -1},
    {text: "some text 2", pos: 0},
    {text: "some text 3", pos: 1},
]);

试图过滤它

self.appendableDataToView = ko.computed(function () {
    return ko.utils.arrayFilter(self.appendableData(), function (item) {
        return item.pos >= 0;
    });
});

结果:空数组

console.log(self.appendableDataToView())

[];

=(

1 个答案:

答案 0 :(得分:2)

您需要appendableData作为变量

self.appendableData = ko.observableArray();

而不是

self.appendableData() = ko.observableArray();