我有动态创建列表(ol或ul)的问题。我面临的问题是,有时候我需要有序列表,有时候根据JSON无序。我正在使用淘汰赛,这是我的HTML,
<ol data-bind="foreach: items" ><li><a data-bind="text: $data"></a></li></ol>
这是我的JSON,
{
items: ['a','b','c'],
orderedList: true
}
您可以看到orderedList可能为true或false。如果是真的那么我需要使用ol,如果是假,我需要使用ul。我也避免复制。任何方式都可以做到这一点。
答案 0 :(得分:2)
这是我放在一起的原始样本,无法测试它。但你可以得到这个想法。
<!-- ko if : orderedList -->
<ol>
<!-- /ko -->
<!-- ko ifnot : orderedList -->
<ul>
<!-- /ko -->
<!-- ko foreach: items -->
<li><a data-bind="text: $data"></a></li>
<!-- /ko -->
<!-- ko if : orderedList -->
</ol>
<!-- /ko -->
<!-- ko ifnot : orderedList -->
</ul>
<!-- /ko -->
编辑:淘汰赛中没有if-else条件。因此,您将不得不依赖于使用多个Ko if语句。
EDIT2 :适用于OP的代码版本。
<!-- ko if : orderedList -->
<ol data-bind="foreach: items">
<li><a data-bind="text: $data"></a></li>
</ol>
<!-- /ko -->
<!-- ko ifnot : orderedList -->
<ul data-bind="foreach: items">
<li><a data-bind="text: $data"></a></li>
</ul>
<!-- /ko -->