【问题标题】:How to copy array of objects from ajax call to observable array?如何将对象数组从ajax调用复制到可观察数组?
【发布时间】:2017-10-16 20:17:13
【问题描述】:

我有一个函数,我在其中进行 ajax 调用,并在回调中获取数据。像这样的

function loadData(callback) {
   //do ajax
   if(callback) {
      callback(data.data);
   }
}

如果我像这样调用函数

loadData(function(data) {
   return data;
})

它返回我需要的数据。如何将所有对象及其键/值复制到self.dataset = ko.observableArray([]); 所以我可以在任何我想要的地方使用数据?

【问题讨论】:

标签: javascript ajax knockout.js


【解决方案1】:

我如何做到这一点是通过使用Knockout Mapping PluginfromJSON 命令(您可能需要使用fromJS,具体取决于您的数据格式)这会映射来自源的数据。

function loadData() {
    $.ajax({
        url: 'http://...',
        dataType: 'json',
        success: function (data) {
            ko.mapping.fromJSON(data, {}, self.dataArray);
        }
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 2019-09-09
    • 2017-08-21
    • 2012-04-20
    • 1970-01-01
    • 2017-09-05
    • 2020-12-01
    相关资源
    最近更新 更多