我想隐藏一个跨度,如果该值为null或只是显示一个空字符串。 if语句不是短路,所以我将整个语句包装在div中。
这是我现在正在工作的内容:
<div data-bind="if: Allergen()"><span data-bind="text: Allergen().Name"></span></div>
这是我想做的:
<span data-bind="if: Allergen(), text: Allergen().Name"></span>
knockout 中是否有合并或其他内容?
最佳答案
您可以使用虚拟if bindings
<!-- ko if: Allergen() -->
<span data-bind="text: Allergen().Name"></span>
<!-- /ko -->
或改用visible-binding(但它不是null安全的)
<span data-bind="visible: Allergen(), text: Allergen() ? Allergen().Name : '' "></span>
JSFiddle DEMO