【发布时间】:2014-08-14 19:25:45
【问题描述】:
我在 ko 中有以下可见绑定:
<div data-bind="visible: !hasConnection()" style="display: none;">
<p>
You have no connections created yet!
<a href="#" data-bind="click: getAvailableConnections">Create one now?</a>
</p>
</div>
用于此绑定的 VM 的相应部分是:
existingConnectionsListViewModel.connections = mapping.fromJS([]);
existingConnectionsListViewModel.hasConnection = ko.computed(function () {
return existingConnectionsListViewModel.connections().length > 0;
});
当连接数组改变可见绑定时(在我看来,像这样的可见绑定更多)在包括 ie8 和 9 在内的所有浏览器中都可以工作
问题:
在 ie 10 和 11 observableArray 中使用 mapping.fromJS([]) 如果控制台窗口关闭,则不会更新
进一步调查:
如果在控制台窗口关闭时,我创建了一个连接,使 existingConnectionsListViewModel.connections().length 为 1
之后可以看到数组没有更新:
如果我刷新页面或在开发工具栏打开的情况下完成整个过程,那么数组将具有正确数量的项目。
- 我的代码中没有
console.log语句。 - 将可见绑定用单引号括起来对问题没有影响
- 整个模块处于严格模式
- doctype 是:XHTML 1.0 Transitional
【问题讨论】:
-
它是否只在 IE 10 和 11 上失败?
-
很抱歉,如果不清楚。编辑了问题
-
试试这个更新了问题。因为我的代码中有更多可见的绑定。只有这个像函数一样被访问。不,那不会有什么不同。但是仍然尝试过,但仍然没有区别