Knockoutjs valueHasMutated Error in IE



我没有看到错误在哪里。我在同一页面的另一部分有类似的代码,具有类似的设置,在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)

问题是我编写了一个导致评估失败的排序帮助程序。

最新更新