我有来自服务器的下一个数据,我想通过调用ko.mapping.fromJS(data,AcquisitionDetailsModel)将这些数据映射到我的模型;
通过检查AcquisitionDetailsModel,在调用指定的方法之后,我看到该模型包含acquisitions: Object[0]
。为什么?我期待在我的模型中找到一系列的收购。我做错了什么?
data: Object
acquisitions: Array[2]
0: Object
acquisition: Object
date: "2012-06-20"
__proto__: Object
provider: Object
id: "1"
name: "Some name"
__proto__: Object
truck: Object
mark: "DAF"
model: "95FX"
__proto__: Object
__proto__: Object
1: Object
length: 2
模型看起来像这样:
function TruckModel() {
this.mark = ko.observable("");
this.model = ko.observable("");
}
function AcquisitionModel() {
this.date = ko.observable("acquisition_date");
}
function ProviderModel() {
this.id = null;
this.name = ko.observable("name");
}
var AcquisitionDetailsModel = {
acquisitions: ko.observableArray([{
acquisition: new AcquisitionModel(),
provider: new ProviderModel(),
truck: new TruckModel()
}])
}
答案 0 :(得分:0)
实际上映射是正确的,但是我正在以错误的方式进行调试:)
ko.mapping.fromJS(data, AcquisitionDetailsModel);
之后,如果我致电AcquisitionDetailsModel.acquisitions()
,我可以看到我的数据。
此外,通过致电AcquisitionDetailsModel.acquisitions()[0].truck.model()
我仍然可以看到正确的数据。
愚蠢的我:)。