Knockout.js 数据绑定如果显示div knockout js

Knockout.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,它们基本上根据数字显示不同颜色的方框,基本上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>

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);其他人都工作过,但是谢谢你的帮助!然后我们需要看看这些观测值是如何定义的。