如果在Durandal中淘汰赛

时间:2014-03-13 18:24:58

标签: javascript knockout.js durandal

对于我的生活,我无法弄清楚为什么这不起作用。我试图将每两个产品包装在一个div中。第一个产品效果很好但第二个产品没有绑定数据

<div  class="prods" data-bind="foreach: products">
    <!-- ko if: $index()%2 == 0 -->
        <div class="prodset">
            <div class="paneProduct">
                <div class="title" data-bind="html: product_title"></div>
                <div data-bind="html: $index()"></div>
            </div>
    <!-- /ko -->
    <!-- ko if: $index()%2 == 1 -->
            <div class="paneProduct">
                <div class="title" data-bind="html: product_title"></div>
                <div data-bind="html: $index()"></div>
            </div>
        </div>
    <!-- /ko -->
</div>

知道我哪里出错

2 个答案:

答案 0 :(得分:0)

一个问题是<!-- ko --><div class="prodset">的开始和结束标记的位置,因为它不会通过打开和关闭来呈现正确的HTML {{} 1}}标签

http://jsfiddle.net/gonefishern/ALBGQ/

答案 1 :(得分:0)

评论/答案已经告诉您出错的地方 - @michael-best has explained this well在另一个问题上。

为了实现您尝试做的事情,您最好将数据分成对,然后将这些对绑定到您的视图。如果每个产品都具有相同的HTML,那么您最好使用模板绑定。 Here's a JSBin that shows one way to achieve this