如果数据绑定,则敲除字符串比较

时间:2015-08-27 18:02:22

标签: knockout.js

category变量定义为ko.observable(),子值应根据category值更改。
if if语句总是返回false。

<!-- ko if: $parent.category == "Electronics"-->
   <div>abc</div>
<!--/ko-->

下面的if语句也总是返回false:

<span data-bind="if: $parent.category == 'Electronics'">
   <div>abc</div>
</span>

如何在数据绑定中与硬编码值进行比较?

1 个答案:

答案 0 :(得分:16)

KO observables是函数,并且无需任何参数即可在表达式中获取它们的值,例如:$parent.category()

因此您需要将代码更改为:

<!-- ko if: $parent.category() == "Electronics"-->
   <div>abc</div>
<!--/ko-->

在您的原始代码中,您正在比较可观察函数($parent.category)而不是"Electronics"的值,这就是它始终为假的原因。