2012-06-28 75 views
4

我有一個搜索結果屏幕,並在提供的結果有效負載中獲得了一個pageCount編號。有了這個,我打算創建一個簡單的尋呼機。如何呈現內聯模板的固定次數

所以我真的需要這樣做:

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

顯然,這並不工作,但你明白我的意思。我想我可以在視圖模型上創建另一個observableArray,每個項目代表一個頁面,但這看起來像是過度殺傷。但是,這可能是我唯一的選擇?!

哦,好吧,我想我最好問一下,因爲有時候會有一些殺手功能在飛行中創建一個範圍,然後我可以對那個壞男孩進行宣教。

Anyhooo,我想你明白我的意思了。 感謝

回答

12

我會用foreach: new Array(pageCount())

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

一個優雅的解決方案。太好了! – krisdyson

2

如果我正確地理解您的需求,看看麥可思的 '重複' 插件:

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

例子:

<div data-bind="repeat: pageCount" data-repeat-bind="html: 'Page '+$index"></div>