1

リスト(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 であることがわかります。true の場合は ol を使用する必要があり、false の場合は ul を使用する必要があります。私も複製を避けるために。これを行う方法はあります。

4

1 に答える 1

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 -->
于 2013-01-16T08:07:28.163 に答える