如何将内嵌模板呈现固定的次数

时间:2012-06-28 10:57:36

标签: knockout.js knockout-2.0

我有一个搜索结果屏幕,在提供的结果有效负载中,我得到一个pageCount号码。有了这个,我打算创建一个简单的寻呼机。

所以我真的需要这样做:

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

显然这不起作用,但你理解我的意思。我想我可以在View Model上创建另一个observableArray整数,每个项目代表一个页面,但这看起来有点过分。但是,这可能是我唯一的选择?!

哦,好吧,我觉得我最好问一下,因为有时会有一些杀手功能可以在飞行中创造一个范围,然后我可以预告那个坏男孩。

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

2 个答案:

答案 0 :(得分:12)

我会使用foreach: new Array(pageCount())

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

答案 1 :(得分:2)

如果我理解您的要求,请查看Michael Best的'Repeat'插件:

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

示例:

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