【发布时间】:2013-09-11 23:36:24
【问题描述】:
我有一个绑定到映射的可观察数组的 knockOUTDataTable
我需要通过 ajax 刷新 dataTables 绑定。
它最初是通过使用以下映射选项将其映射到名为batchHistories的可观察数组来创建的
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 的东西。
【问题讨论】:
标签: knockout.js knockout-mapping-plugin