2013-07-23 2 views
1

Я использую jQuery Tmpl и Knockout. У меня есть шаблоны:Получить значение от родительского шаблона

Template 1:

{{each (index, model) Models}} 
<div data-bind="template: 'template2', foreach: model.SubModels"></div> 
{{/each}} 

Шаблон 2:

<div>${FieldFromSubModel} {__Here i need index from template 1__}</div> 

Как я могу передать переменную индекса ко второму tempalate?

Обратите внимание: мои шаблоны намного сложнее, поэтому структура должна оставаться такой, какая есть.

+1

Вы пытались '$ parentContext. $ Index'? – sroes

+0

К сожалению нет, только $ parent call. Позвольте мне попробовать, но немного позже. Я реорганизовал все мои шаблоны, поэтому было бы трудно вернуться к предыдущему состоянию. Спасибо за комментарий и +1 за вас – Andrei

ответ

2

Поскольку вы, кажется, с помощью шаблонов Jquery, вы можете использовать параметр templateOptions для передачи дополнительных параметров:

<div data-bind="template: {name: 'template2', data: model.SubModels, templateOptions: {yourIndex: $index}}"></div> 

Теперь вы можете использовать $item.yourIndex в Шаблон 2.

В противном случае $parentContext.$index может быть и трюком.

+0

Это потрясающе! – Andrei

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