【问题标题】:Overwrite the Knockout object覆盖 Knockout 对象
【发布时间】:2014-09-21 23:12:03
【问题描述】:

我需要覆盖淘汰对象。但是当我尝试这个时,我得到了以下错误。当页面加载我调用 loadXMLFiles 并且它没有任何问题地工作。在我尝试覆盖对象时按下按钮后,在 downloadFile 函数中出现错误 Uncaught TypeError: Cannot read property 'fromJS' of undefined。但在这两种情况下,它都是同一个对象。谁能帮我解决这个问题???

var urlPath = window.location.pathname;
//var self = this;

$(function () {  
    ko.applyBindings(indexVM);

    indexVM.loadXMLFiles();
});



var indexVM = {
    XMLFiles: ko.observableArray([]),

    loadXMLFiles: function () {

        var self = this;
        $.ajax({
            type: "GET",
            url: "../HotelBackEndProcess/UpdateDatabase/FillIndex",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {               
                self.XMLFiles(data);

            },
            error: function (err) {
                alert(err.status + " : " + err.statusText);
            }
        });       
    },
    DownloadFile: function () {   
    Id = this.Id;
    var self = this;
    $.ajax({
        type: "GET",
        url: "../HotelBackEndProcess/UpdateDatabase/DownloadFile",
        contentType: "application/json; charset=utf-8",
       data: { Id: Id },
        dataType: "json",
        success: function (data) {               

            ko.mapping.fromJS(XMLFiles, self.data);
        },
        error: function (err) {
            alert(err.status + " : " + err.statusText);
        }
    }); 
}
};

【问题讨论】:

    标签: javascript jquery mvvm knockout.js


    【解决方案1】:

    您可能缺少mapping 插件(必须单独下载):

    请参阅 GitHub 中的 ko.mapping

    【讨论】:

    • 我已经下载了它,但现在我得到了以下错误 Uncaught TypeError: Cannot read property 'ko_mapping' of undefined
    • 我猜是self.data 返回undefined。试试:self.XMLFiles(ko.mapping.fromJS(data)).
    • 现在我收到以下错误“未定义不是函数”,在 loadxmlfiles 函数中我可以使用 self.XMLfiles,但是当我在 DownloadFile 函数上使用它时出现错误
    • 你想在success 函数上做什么?您要替换哪个字段?
    • 点击按钮后我需要更改下载日期时间字段
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2012-07-15
    • 2021-10-19
    • 2012-07-28
    • 1970-01-01
    相关资源
    最近更新 更多