3

如果值为 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>

是否有合并或淘汰赛?

4

1 回答 1

2

您可以使用 virtual if 绑定

<!-- ko if: Allergen() -->  
<span data-bind="text: Allergen().Name"></span>
<!-- /ko -->    

或者改用可见绑定(但它不是空安全的)

<span data-bind="visible: Allergen(), text: Allergen() ? Allergen().Name : '' "></span>

JSFiddle 演示

于 2013-11-07T17:48:03.943 回答