JsFiddle:http://jsfiddle.net/fPsK6/2/
为什么visible
绑定不起作用?
答案 0 :(得分:2)
因为IsDefault
属性的值是字符串,所以总是评估为true
。唯一不评估为true
的字符串是空字符串。
在那个版本中,我只是删除了数字周围的引号(所以它们实际上是数字,而不是字符串)。数字1
评估为true
,数字0
评估为false
。您当然可以使用文字布尔值而不是数字(或适当评估为true
和false
的任何其他值)。
更新(见评论)
由于您的数据来自服务器而您无法更改,因此您可以将字符串转换为data-bind
属性值中的数字:
<span data-bind="visible: +payload.IsDefault()">
请注意,您需要将IsDefault
作为函数调用,而不是仅仅提供对函数的引用。另请注意使用unary plus operator,它将字符串转换为数字。
这是另一个updated fiddle。