我使用foreach绑定到一个可观察的数组,我也在foreach中使用If来在绑定之前测试一个条件。我想要一个绑定元素的数量。 $ index将无法工作,因为它会从不满足条件的元素中留下空白。
我想过使用一个函数但是如何将count初始化为零。
答案 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;
}
});