2015-08-27 26 views
2

category變量定義爲ko.observable(),應根據category值更改子值。
以下if語句總是返回false。如果數據綁定的敲除字符串比較

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

的若跌破保護 - 諮詢熱點也總是返回false:

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

如何做數據綁定使用硬編碼值進行比較?

+0

如果你想使用這種語法,請使用類似這樣的東西。 http://blog.stevensanderson.com/2013/05/20/knockout-es5-a-plugin-to-simplify-your-syntax/ – CrimsonChris

回答

11

KO觀測是你需要給他們打電話不帶任何參數如功能和進去的表達自己的價值:$parent.category()

所以,你需要更改您的代碼:

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

在你原來的代碼你正在比較可觀察函數($parent.category)而不是它的值與"Electronics",這就是爲什麼它總是錯誤的原因。