我经常发现自己在基于 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 (IE8/9)没有正确解析上面的例子。有关详细信息,请参阅 这个所以问题。快速总结是,不要在表标记中使用注释(虚拟绑定)来支持 IE。改为使用 tbody:
<tbody data-bind="if: display"><tr><td>hello</td></tr></tbody>