【发布时间】:2015-09-18 15:25:28
【问题描述】:
这个最近的淘汰赛难题让我想用头撞墙并将自己击倒......所以让我们看看是否有人可以帮我减轻痛苦:)
据充分证明,在淘汰赛 ForEach 之前和之后添加静态元素非常简单:
<div id="myContainer">
<p>Element Before The Loop</p>
<!-- ko foreach: myData -->
<p data-bind="text: myText"></p>
<!-- /ko -->
<p>Element After The Loop</p>
</tr>
但是,我的需要涉及在设定点中断迭代循环的流程,包括静态元素,然后继续循环流程。
这是一个伪代码样式的示例。这里的要求是,给定 ForEach 中的“X”数据项列表,我想输出前 5 个,然后是我的静态元素,然后是从第 6 个开始的其余数据项:
<div id="myContainer">
<!-- ko foreach[1-5]: myData -->
<p data-bind="text: myText"></p>
<!-- /ko -->
<p>MY STATIC ELEMENT</p>
<!-- ko foreach[6+]: myData -->
<p data-bind="text: myText"></p>
<!-- /ko -->
</div>
有人可以建议此类任务的适当语法吗? 非常感谢任何可以对此有所了解的人。
【问题讨论】:
-
-
公平的问题@CrimsonChris,就我而言,我基本上可以保证总会有五个项目,所以不。但是为了将来阅读此问题的任何人的利益,如果您知道任何相关注意事项,请详细说明。
-
James Thorpe 的回答对于您的用例来说绝对是最简单的。但是,如果静态元素应该始终可见,而不管项目的数量...您需要做更多的工作。
-
我已经更新了我的答案,因此它会显示是否少于 5 个,但您仍然需要至少 1 个才能触发
foreach循环。如果有可能是 0 的情况,我可能会采用不同的方法来完全显示内容
标签: javascript knockout.js foreach