【发布时间】:2014-10-07 05:14:03
【问题描述】:
具有以下模板,但未按预期呈现。淘汰赛的控制流程出了点问题。 name 属性应该在两个 if 语句之间的 div 中呈现,但事实并非如此。我错过了什么?
<!-- ko foreach: userAddresses -->
<div data-bind="text: name"></div> // this prints correctly
<!-- ko if: shouldStartNewRow($index) -->
<div class="row">
<!-- /ko -->
<div class="col-xs-4 text-left"><div data-bind="text: name"></div></div> // nothing prints here
<!-- ko if: shouldStartNewRow($index) -->
</div>
<!-- /ko -->
<!-- /ko -->
这会产生:
<div>Joe blow</div>
<div class="row">
<div class="col-xs-4 text-left"><div> </div></div> // missing Joe blow here. it does produce a single space
</div>
更新:
创建了一个fiddle 来显示问题。看来,如果不整齐地关闭条件块中的所有 html,则会导致淘汰赛失控。
【问题讨论】:
-
之前已经回答过这个问题:stackoverflow.com/a/18157118/1287183
标签: knockout.js