KnockoutJSでリストをストライプするにはどうすればよいでしょうか?下のdivのクラスは、リスト内のどこに応じて偶数か奇数でなければならず、項目を追加または削除するときに更新されます。アイテムリストにストライプスタイルを追加する
<div class="Headlines loader"
data-bind="css: { loader: headlines().length == 0 },
template: { name: 'recentHeadlinesTemplate',
foreach: beforeHeadlineAddition,
beforeRemove: function(elem) { $(elem).slideUp() },
afterAdd: slideDown }">
</div>
<script type="text/html" id="recentHeadlinesTemplate">
<div class="even">
${Title}
</div>
</script>
ストライプが適用される前にテンプレートレンダリングが確実に行われるようにするにはどうすればいいですか?それとも問題なのでしょうか? – neebz
テンプレートバインディングの後に 'stripe'バインディングを置くだけでよいでしょう。バインディングは左から右に実行されますが、スティーブはそれが必ずしも保証しようとするものではないと言いました。それ以外の場合は、テンプレートバインディングをラップし、順序を絶対に保証する 'templateWithStripe'と呼ばれるバージョンがあります。これは、おそらく最も冗長な構文を提供します。 –
これを見ましたが、より簡単なアプローチが望まれていました。私はこれと一緒に行くだろうと思う。 –