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