我总是发现自己在基于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 -->
Run Code Online (Sandbox Code Playgroud)
是否有一种更好/更清洁的方法来在KO中进行条件化,还是有一种更好的方法而不仅仅是使用传统的if-else结构?
另外,我想指出一些版本的Internet Explorer(IE 8/9)没有正确解析上面的例子.有关更多信息,请参阅此SO问题.快速摘要是,不要在表标记内使用注释(虚拟绑定)来支持IE.使用tbody代替:
<tbody data-bind="if: display"><tr><td>hello</td></tr></tbody>
Run Code Online (Sandbox Code Playgroud)