2013-03-08 23 views
6

Mam to pytanie dotyczące foreach w nokaut js i pierwszy element. Chcę pominąć pierwszy i powtórzyć kolejne elementy.Pomiń element w tablicy knockout js?

Głównym problemem jest to, że chcę zrobić coś takiego:

<div data-bind="text: ItemsArray[0].someProperty"></div> 
<div data-bind="foreach: ItemsArray"> <!-- here i must skip the first item --> 
    <div data-bind="text: someProperty"></div> 
</div> 

Odpowiedz

13

Nie sądzę knockoutJS zapewnia funkcję, aby przejść do konkretnego elementu w tablicy, ale można użyć małego triku.

Jeśli chcesz pominąć tylko pierwszy element, można użyć właściwości $index!

<div data-bind="text: ItemsArray[0].someProperty"></div> 
<div data-bind="foreach: ItemsArray"> 
<!-- ko if: $index() != 0 --> 
    <div data-bind="text: someProperty"></div> 
<!-- /ko --> 
</div> 
+0

tego wskaźnika powinna być = 0? –

+0

To zadziałało dla mnie! dzięki! Muszę tylko trochę zmodyfikować twój kod za pomocą $ index(), ponieważ jest to obserwowalne, a następnie zmieniające! = 1 na! = 0. –

+0

masz rację @ Phoenix_uy..thanks –