Я постоянно использую эту идиому в шаблонах HTML на основе KO:
<!-- 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>