【问题标题】:Knockoutjs foreach binding doesn't update <ol> numbers in IEKnockoutjs foreach 绑定不会更新 IE 中的 <ol> 数字
【发布时间】:2017-01-05 21:17:35
【问题描述】:

当我在页面上两次包含我的 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/

【问题讨论】:

  • ol 号码由您的浏览器放在那里。如果 1 被重复,那一定意味着你有 2 个 ol 元素,里面有一个 li。 (注:我从未使用过淘汰赛)
  • [叹气] 我不能用 Knockout 复制这个问题,也许你可以显示更多代码?如果没有,请关闭此问题。
  • 换个浏览器试试看问题是否依旧
  • 感谢您的建议。我能够隔离显示:没有第二个 div 是罪魁祸首。这种情况现在只发生在 IE 中。

标签: javascript knockout.js


【解决方案1】:

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

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

以下小提琴显示&lt;ol&gt; 中的数字已通过此修复http://jsfiddle.net/c4Hc8/1/ 正确更新

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多