エラーがどこにあるのかわかりません。同じページの別のセクションに、IE で正常に動作する同様の設定の同様のコードがありますが、これはエラーをスローします。最初はそれぞれの値をプッシュしようとしましたが、IE には問題がありました ( http://www.knockmeout.net/2012/04/knockoutjs-performance-gotcha.htmlを参照)。
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 オブジェクトが必要です」と報告し、knockout-1.2.1.js、行 34 文字 262 (または、knockout-1.2.1.debug.js、行 928 文字 19)