0

繰り返し処理している observableArray のプロパティ内の floatval-value に応じて要素をレンダリングする条件ステートメントを作成しようとしています

値自体をレンダリングすると、次のように機能します。

<span data-bind="text: stinger.points"></span>

observableArray のそれぞれについて、「3.2」などの正しい値が表示されます。

私の実際のステートメントを次に示しますが、計算された html には表示されません。

<!-- ko if: stinger.points  >1.49 && stinger.points <2.49 -->
    <div>1.5 - 2.48</div>       
<!-- /ko -->            
<!-- ko if: stinger.points  >2.49 && stinger.points <3.49 -->
    <div>2.5 - 3.48</div>
<!-- /ko -->    
<!-- ko if: stinger.points  >3.49 && stinger.points <4.49 -->
    <div>3.5 - 4.48</div>
<!-- /ko -->
<!-- ko if: stinger.points  >4.49 && stinger.points <5.1 -->
    <div>4.5 - 5</div>      
<!-- /ko -->
<!-- ko if: stinger.points  <0.1  -->
    <div >0</div>           
<!-- /ko -->

または、次のようにアプローチすることもできます。

<div data-bind="visible: rating.points > 1.2 && rating.points < 3.4">between 1.3 - 3.5</div>

ただし、上記のように、それも機能しません。

私は何を間違っていますか?これを修正する方法は?

4

1 に答える 1

2

式でオブザーバブルを使用する場合は、() を追加してアンラップする必要があります。次のようにコードを更新します。

<!-- ko if: stinger.points()  >1.49 && stinger.points() <2.49 -->
    <div>1.5 - 2.48</div>       
<!-- /ko -->            
<!-- ko if: stinger.points()  >2.49 && stinger.points() <3.49 -->
    <div>2.5 - 3.48</div>
<!-- /ko -->    
<!-- ko if: stinger.points()  >3.49 && stinger.points() <4.49 -->
    <div>3.5 - 4.48</div>
<!-- /ko -->
<!-- ko if: stinger.points()  >4.49 && stinger.points() <5.1 -->
    <div>4.5 - 5</div>      
<!-- /ko -->
<!-- ko if: stinger.points()  <0.1  -->
    <div >0</div>           
<!-- /ko -->
于 2013-08-30T11:51:13.877 に答える