我经常发现自己在基于 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>