1

当我在我的页面上两次包含我的 observableArray 的 foreach 绑定时,在将对象添加到数组时,有序列表上的数字都显示为 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. test1@test.com

2. test2@test.com

这是一个错误还是我错过了什么?

编辑:这实际上只发生在 IE 中,当第二个 div 被隐藏时,这里是一个演示问题的小提琴http://jsfiddle.net/c4Hc8/

4

1 回答 1

0

我现在坚信这是 Knockoutjs 中的一个错误。

对于遇到相同问题的任何人,我通过将display:none;div 替换为visibility:hidden;

The following fiddle shows that the numbers in the <ol> are updated correctly with this fix http://jsfiddle.net/c4Hc8/1/

于 2013-01-06T16:42:34.753 回答