私は常にKOベースのHTMLテンプレートでこのイディオムを使用していることに気づきます。
<!-- ko if: isEdit -->
<td><input type="text" name="email" data-bind="value: email" /></td>
<!-- /ko -->
<!-- ko ifnot: isEdit -->
<td data-bind="text: email"></td>
<!-- /ko -->
KOで条件文を実行するためのより良い/よりクリーンな方法はありますか、それとも従来のif-else構造を使用するよりも優れたアプローチがありますか?
また、Internet Explorer(IE 8/9)の一部のバージョンでは、上記の例が正しく解析されないことを指摘しておきます。詳細については、このSOの質問を参照してください。簡単にまとめると、IEをサポートするためにテーブルタグ内でコメント(仮想バインディング)を使用しないでください。tbody
代わりに使用してください:
<tbody data-bind="if: display"><tr><td>hello</td></tr></tbody>