Knockout.js 数据绑定如果显示div knockout js
所以我试着显示一些div,它们基本上根据数字显示不同颜色的方框,基本上AA和B都返回5,所以它们应该显示,其他div应该是空白或空的,基本上不显示div,但是由于某种原因,现在所有的数据绑定都没有显示任何内容,我得到了空divKnockout.js 数据绑定如果显示div knockout js,knockout.js,Knockout.js,所以我试着显示一些div,它们基本上根据数字显示不同颜色的方框,基本上AA和B都返回5,所以它们应该显示,其他div应该是空白或空的,基本上不显示div,但是由于某种原因,现在所有的数据绑定都没有显示任何内容,我得到了空div <div> <div class="riskBox1PushUp col-md-6 col-lg-4 col-sm-6 col-xs-12">
<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>
AAA
AA
A.
B
C
未投资
不确定这是否重要,但AAA和AA等都是计算出来的。
这是我使用if-AA或if-AAA的图像
同样的问题我也遇到过几次。之后,我总是尝试在注释或可见绑定中使用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>
AAA
或具有可见性:
<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>
AAA
如果上述操作失败,那么我建议您重新检查变量,因为没有有效的理由说明它不起作用。当您根据条件评估可观测值时,您需要执行以下操作:
data-bind="if: AAA() > 0"
而不是
data-bind="if : AAA > 0"
同样,对于另一个if,当您创建的表达式包含敲除绑定中的可观察内容时,您需要自己评估可观察内容 例如:您需要以以下形式编写数据绑定:
data bind=“if:AAA()>0”
说明:
Knockout将您在绑定中输入的值包装到函数中。if:AAA
中的AAA
变为function(){return AAA;}
。如果此函数返回一个可观察的
实例,它将评估可观察的值并订阅更改
在绑定中创建表达式时,包装函数中可能存在的observable
会丢失:function(){return AAA>0;}
会将您的observable实例与值0进行比较。无论可观察对象的值是什么,这都将返回false
。试试这个
data-bind="visible: AAA() > 0"
您是否尝试使用绑定“可见”而不是“如果”?因为我怀疑javascript执行变量绑定和if语句的顺序可能有问题。还要检查
data bind=“if:AAA()>0”
是否可以解决您的问题。@A.Tapper yea当然试过了,我在哪里写?对不起,我的意思是:data bind=“if:AAA()>0”
。Updated您能告诉我们如何在javascript中定义AAA
吗?this.AAA=ko.computed(函数(){返回this.DarkBlueValueR1();},this);其他人都工作过,但是谢谢你的帮助!然后我们需要看看这些观测值是如何定义的。