如何为特定的数组大小迭代foreach循环

时间:2015-07-13 10:46:02

标签: javascript html knockout.js

我有两个不同的for-each循环,如下所示

 <div id="filterarea" data-bind="foreach: { data: filters, as: 'filtercategory' }  ">
     <ul data-bind="foreach: { data: Refiners, as: 'refiner' } ">
          //display data
      </ul>
 </div>

应迭代少于2并渲染内部标记

1 个答案:

答案 0 :(得分:1)

如果你想循环浏览特定的元素,你只需要slice

查看:

<div id="filterarea" data-bind="foreach: { data: filters().slice(1,3), as: 'filtercategory' }  ">
    <span data-bind="text:$index"></span>
     <ul data-bind="foreach: { data: $root.Refiners().slice(1,3), as: 'refiner' } ">
          <span data-bind="text:$index"></span>
          //display data
      </ul>
 </div>
  

slice函数是observableArray等效的native   JavaScript切片功能(即,它返回数组的条目   从给定的起始索引到给定的结束索引)。调用   myObservableArray.slice(...)相当于调用相同的方法   在底层数组上(即myObservableArray()。slice(...))

工作样本 here