奇怪的问题。我有一个选择框绑定到一个更新observable的大型数组。除了数组大小之外,没有什么比这更奇特了。这是一个带有完整示例的 jsfiddle :http://jsfiddle.net/mikebruner/s2SFj/11/
以下是带有数组缩写版本的代码:
加价:
Value: <span data-bind="text: technicalOwner"></span>
<p>
Field:
<select name="technicalOwner" id="technicalOwner"
data-bind="options: technicalOwnerOptions
, optionsCaption: 'Select...'
, optionsText: 'Value'
, optionsValue: 'Name'
, value: technicalOwner">
</select>
型号:
function CommercialEntryViewModel() {
var self = this;
self.technicalOwner = ko.observable("");
self.technicalOwnerOptions = [{"Name":"aapr","Value":"aapr"},{"Name":"abf","Value":"abf"} .... ];
};
使用 IE10 ,当我使用鼠标从选择框中选择一个值时,observable会更新,一切都很好。但是如果使用键盘在select-box
中选择一个值,然后选择该字段,IE10会崩溃。
其他一些观察结果:
这在Chrome中运行良好。似乎是一个IE10问题。我没有其他版本的IE可以测试,虽然它似乎也在兼容模式下崩溃了。
如果我拿出观察结果,一切正常。
如果我减少数组中的项目数量,一切正常。
我承认javascript数组肯定会被收紧(这通常来自于被序列化为JSON的对象)。但我认为它在语法上是可以的,但仍然可以工作。
答案 0 :(得分:0)
我发生了完全相同的事情,升级到Knockout 3.0.0版解决了这个问题。