我有一个绑定到映射的可观察数组的 knockOUTDataTable
我需要通过 ajax 刷新 dataTables 绑定。
它最初是通过使用以下映射选项将其映射到名为 batchHistories 的 obversable Array 创建的
var mappingOptions = {
            'batchHistories': {
                create: function (options) {
                    return new BatchHistoryViewModel(options.data, dataContext);
                },
                key: function (batchHistory) {
                    return ko.utils.unwrapObservable(batchHistory.Id);
                }
            } 
        };
ko.mapping.fromJSON(data, self);
我正在执行以下操作来刷新绑定和数据表,但是当它运行时,数据不会改变。如果我刷新整个页面它们是最新的。
        self.refresh = function () {
                $.when(this.dataContext.getBatchHistories(0, "Any"))
                    .done(function (result) {
                        {
                            self.destroyDataTableFromId(dataTableId);
                            ko.mapping.fromJSON(result, self);
                            self.createDataTable(dataTableId);
                        }
                    });
        };
我需要重做映射或这里的任何东西吗?你能看到我错过了什么吗?
createDataTable 函数只有 jqueryDataTable jquery 的东西。