如何根据模板中的数据绑定值重复元素

时间:2013-08-14 21:30:15

标签: knockout.js

尝试但未能在网上找到解决方案。希望有人知道。

我想在模板中找到一个解决方案,而不需要执行计算函数。

以下是 NumberPeople = 5 的示例。

<div id="listpeople" data-bind="text:NumberPeople"></div>

有没有办法在 listpeople div中显示5个图标?最终结果将是:

<div id="listpeople" data-bind="{code here}">
    <span id="1">1</span>
    <span id="2">2</span>
    <span id="3">3</span>
    <span id="4">4</span>
    <span id="5">5</span>
</div>

1 个答案:

答案 0 :(得分:4)

你的问题似乎非常人为,没有任何背景,所以答案可能会有点人为。这是一种做你似乎要求的方法:

<div id="listpeople" data-bind="foreach: new Array(NumberPeople)">
    <span data-bind="text: $index()+1, attr: {id: $index()+1}"></span>
</div>

查看模型很简单,没有计算函数:

var vm = { NumberPeople: 5 };
ko.applyBindings(vm);

请参阅this jsfiddle

我确实推测上述内容可能并不完全适合您要实现的目标。如果是这样,您可能会遇到XY-problem。如果没有:享受! :d