是否可以使用Knockout的visible:
或if:
数据绑定来检查可观察的值是否(显式)为空?
我有两个单选按钮,如果选中其中任何一个,它会将可观察的值设置为"True"
或"False"
。否则,可观察值为null。如果可观察值为null,我希望有条件地显示一个元素。以下似乎不起作用:
<div data-bind="visible: specificObservable === null"> Example </div>
<!-- shows the element when null, but not false, nor 'False' -->
答案 0 :(得分:5)
猜测specificObservable
是一个可观察的,请尝试:
<div data-bind="visible: specificObservable() === null"> Example </div>
您需要调用observable来获取它包含的实际值。 specificObservable
是一个函数,因此不是null
,即使它包含的值是null
。
这可以让你在淘汰赛中绊倒,因为如果他们自己使用,淘汰赛会自动解开观察。所以,如果你这样做了:
<div data-bind="visible: specificObservable"> Example </div>
如果specificObservable
真实,它会为您致电specificObservable()
并显示。但是一旦你开始在更长的语句中使用它,你需要自己明确地解开它。
答案 1 :(得分:0)
在调用函数"
之后忘记结束双引号specificObservable()