所以我试图显示一些div,它们基本上显示了不同颜色的盒子,具体取决于它们的数字,基本上AA和B都返回5,所以它们应该显示,其他div应该是空白或空的,基本上不均匀显示div,但由于某种原因,现在所有数据绑定都没有显示任何东西,我得到空div。
<div>
<div class="riskBox1PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<div data-bind="if : AAA > 0">
<span class="riskBox1">AAA</span> <span data-bind="text : AAA"></span>
</div>
</div>
<div class="riskBox2PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<div data-bind="if : AA > 0.00">
<span class="riskBox2">AA</span> <span data-bind="text : AA"></span>
</div>
</div>
<div class="riskBox3PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<div data-bind="if : A > 0.00">
<span class="riskBox3">A</span> <span data-bind="text : A"></span>
</div>
</div>
<div class="riskBox2PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<div data-bind="if : B > 0.00">
<span class="riskBox4">B</span> <span data-bind="text : B"></span>
</div>
</div>
<div class="riskBox2PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<div data-bind="if : C > 0.00">
<span class="riskBox5">C</span> <span data-bind="text : C"></span>
</div>
</div>
<div class="riskBox2PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<span class="riskBox6">Not invested</span> <span data-bind="text : TotalInvestment"></span>
</div>
</div>
答案 0 :(得分:1)
我也几次遇到同样的问题。之后我总是尝试在评论或可见绑定中使用if:
例如:
<div class="riskBox1PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<!--ko if : AAA > 0 -->
<span class="riskBox1">AAA</span> <span data-bind="text : AAA"></span>
<!--/ko-->
</div>
或可见度:
<div class="riskBox1PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<!--ko visible: AAA > 0 -->
<span class="riskBox1">AAA</span> <span data-bind="text : AAA"></span>
<!--/ko-->
</div>
如果上述方法失败,那么我建议您重新检查一下您的变量,因为没有正当理由说明它不起作用。
答案 1 :(得分:1)
当您根据条件评估观察值时,您需要执行以下操作:
data-bind="if: AAA() > 0"
而不是
data-bind="if : AAA > 0"
同样适用于其他if
答案 2 :(得分:1)
当您在敲除绑定中创建包含可观察对象的表达式时,您需要自己评估 observable。
I.e。:您需要以下列形式编写数据绑定:data-bind="if: AAA() > 0"
<强>解释强>
Knockout将您在绑定中输入的值包装在函数中。 AAA
中的if: AAA
变为function() { return AAA; }
。如果此函数返回observable
实例,它将评估observable的值并订阅更改。
当你在你的绑定中创建一个表达式时,包装函数中可能存在的observable
会丢失:function() { return AAA > 0; }
将比较你的可观察实例到值0.这将只返回false
,无论可观察值是多少。
答案 3 :(得分:0)
试试这个
data-bind="visible: AAA() > 0"