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

Irf*_*nif 6 knockout.js

该category变量被定义为ko.observable()和子值应根据被改变category的值.
if if语句总是返回false.

<!-- ko if: $parent.category == "Electronics"-->
   <div>abc</div>
<!--/ko-->
Run Code Online (Sandbox Code Playgroud)

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

<span data-bind="if: $parent.category == 'Electronics'">
   <div>abc</div>
</span>
Run Code Online (Sandbox Code Playgroud)

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

nem*_*esv 17

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

所以你需要将代码更改为:

<!-- ko if: $parent.category() == "Electronics"-->
   <div>abc</div>
<!--/ko-->
Run Code Online (Sandbox Code Playgroud)

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