2014-12-10 2 views
1

Я пытаюсь найти номер индекса в вложенном foreach. Например, я пытаюсь сделать это:Найти индекс вложенного индекса foreach

<!-- ko foreach:array1 --> 
    <!-- ko foreach:array2 -->(this index) 
     <!-- ko foreach:array3 --> 
      <!-- ko foreach:array4 --> 
       ----(i want index of foreach array2 in here...) 
      <!-- /ko --> 
     <!-- /ko --> 
    <!-- /ko --> 
<!-- /ko -->  

Я попытался с $parentContext.$index(), с помощью которого я могу найти индекс массива 1 уровня вложенного Еогеаспа, но не более чем на 1 уровень.

Пожалуйста, помогите мне найти правильный контекст связывания для вышеуказанного сценария.

+0

не может видеть ваше изображение вы можете разместить код на этом . –

+0

действительно ссылаются на документы в контексте привязки http://knockoutjs.com/documentation/binding-context.html –

+4

вы пытались '$ parentContext. $ ParentContext. $ Index()' –

ответ

2

В дополнение к wayne ellery ответ, если вы хотите знать/сравнить вещи в подробнейшим образом проверить это.

Проверить here для работы скрипки

Вид:

<div class="loop" data-bind="foreach: rows"> 
    <br/> 
    <div class="nested-loop" data-bind="foreach: cells"> 
     <br/> 
     <div class="nested-nested-loop" data-bind="foreach: candidates"> index: <span data-bind="text: $index()"></span> || 
Cell index: <span data-bind="text: $parentContext.$index()"></span>|| 
      Row index: <span data-bind="text: $parentContext.$parentContext.$index()"></span> 
<br/> 
     </div> 
    </div> 
</div> 

Это действительно поможет вам понять вещи лучше хорошо действительно когда-то помогло мне

1

Как супер круто упоминалось выше, вы можете использовать $parentContext.$parentContext.$index()

<!-- ko foreach:array1 --> 
    <!-- ko foreach:array2 --> 
     <!-- ko foreach:array3 --> 
      <!-- ko foreach:array4 --> 
       <!-- ko text: $parentContext.$parentContext.$index() --><!-- /ko --> 
      <!-- /ko --> 
     <!-- /ko --> 
    <!-- /ko --> 
<!-- /ko -->  

http://jsfiddle.net/9k8a7cx2/

Смежные вопросы