2012-06-28 2 views
4

У меня есть экран результатов поиска и в приведенной полезной нагрузке результатов. Я возвращаю номер страницы. С этим я собираюсь создать простой пейджер.Как визуализировать встроенный шаблон фиксированное число раз

Так на самом деле мне нужно сделать это:

<!-- ko for(var i = 0; i < pageCount(); i++) --> 
     <div data-bind="html: 'Page '+$index()"></div> 
    <!-- /ko --> 

Очевидно, что это не работает, но вы получите то, что я имею в виду. Я полагаю, что я мог бы создать еще один наблюдаемый массив целых чисел в Model View с каждым элементом, представляющим страницу, но это кажется излишним. Однако это может быть мой единственный вариант ?!

Ну, я подумал, что лучше спросить, поскольку иногда есть какая-то функция убийцы, которая создает диапазон на лету, а затем я могу предвидеть этого плохого мальчика.

Anyhooo, я думаю, вы понимаете, что я имею в виду. благодаря

ответ

12

я хотел бы использовать foreach: new Array(pageCount()):

<!-- ko foreach: new Array(pageCount()) --> 
     <div data-bind="html: 'Page '+$index()"></div> 
<!-- /ko -->​ 
+0

Изящное решение. Ницца! – krisdyson

2

Если я правильно понимаю ваши требования правильно, взглянут на 'Repeat' плагин Майкла Беста:

https://github.com/mbest/knockout-repeat

Пример:

<div data-bind="repeat: pageCount" data-repeat-bind="html: 'Page '+$index"></div> 
Смежные вопросы