1

ページに observableArray の foreach バインディングを 2 回含めると、配列にオブジェクトを追加すると、順序付きリストの数字がすべて 1 と表示されます

<ol data-bind="foreach: Participants">
    <li>
        <span data-bind="text: email"> </span>          
    </li>                         
</ol>  

次のように表示されます。

1. test1@test.com

1. test2@test.com

ol を含む div を非表示にして表示すると、数値が更新され、正しい値が表示されます

foreach バインディングが 1 回だけ含まれている場合、すべてが正常に機能し、配列に追加している間に数値が更新されます。

1. test1@test.com

2. test2@test.com

これはバグですか、それとも何か不足していますか?

編集: これは、2 番目の div が隠されている場合に IE でのみ実際に発生します

4

1 に答える 1

0

これは Knockoutjs のバグであると確信しています。

display:none;同じ問題が発生している人のために、divを次のように置き換えることでこれを修正しましたvisibility:hidden;

次のフィドルは、<ol>この修正で数値が正しく更新されることを示していますhttp://jsfiddle.net/c4Hc8/1/

于 2013-01-06T16:42:34.753 に答える