我如何计算有条件的foreach绑定敲除3.4.0

时间:2016-05-05 12:13:32

标签: knockout.js

我使用foreach绑定到一个可观察的数组,我也在foreach中使用If来在绑定之前测试一个条件。我想要一个绑定元素的数量。 $ index将无法工作,因为它会从不满足条件的元素中留下空白。

我想过使用一个函数但是如何将count初始化为零。

1 个答案:

答案 0 :(得分:1)

你可以创建一个运行数组的计算器,应用一些条件并输出过滤后的数组 - 然后你通常可以使用$ index()

e.g。

this.filteredArray = ko.computed({
    owner: this,
    read: () => {
        let filteredBySomething = ko.utils.arrayFilter(this.testArray(), (item: any) => {
            return item.id === /* some logic here */;
        });
        let result = filteredBySomething ? filteredBySomething : this.testArray();

        return result;
    }
});