Я не вижу, где ошибка здесь. У меня есть аналогичный код для другого раздела той же страницы с аналогичной настройкой, которая отлично работает в IE, но это вызывает ошибку. Сначала я попытался просто нажать на каждое из значений, но у IE были проблемы (см. http://www.knockmeout.net/2012/04/knockoutjs-performance-gotcha.html).Knockoutjs valueHasMutated Error in IE
function DocSubType(doc_subtype_id, description) {
this.doc_subtype_id = ko.observable(doc_subtype_id);
this.description = ko.observable(description);
};
....
docsubtypeModel = [ ], //Where the loaded descriptions are stored. Knockout observers this.
viewDocSubTypeModel = {
docsubtypes: ko.observableArray(docsubtypeModel),
....
download: function() {
$.getJSON(DocSubTypesettings.list, function(json) {
//Push to the original model and then stated that it has mutated to speed up performance in IE.
var tmparray = viewDocSubTypeModel.docsubtypes();
for(i=0; i < json.docsubtypes.length; i++) {
tmp = new DocSubType(json.docsubtypes[i].doc_subtype_id, json.docsubtypes[i].description);
tmparray.push(tmp);
}
viewDocSubTypeModel.docsubtypes.valueHasMutated(); /*ERROR HERE*/
});
}
IE8 сообщает "JScript Объект ожидается," нокаут-1.2.1.js, строка 34 символов 262. (или нокаут-1.2.1.debug.js, строка 928 символов 19)
Последняя версия нокаута - 'knockout-2.1.0.js'. Почему бы вам не обновить его? – nemesv
Только что заметил, что и сделал, тот же выпуск. Странно, что он отлично работает с двумя аналогичными настройками viewModel на одной странице и разбивается на 2. – Aaron