嗨,我有一个像这样的JSON数组
[{
"id": "537901a53513fa3374bec718",
"images": [],
"itemImage": "img/3.jpg",
"createdDate": "5/18/2014 6:53:25 PM",
"location": [
-2.057802,
52.609711
]
},
{
"id": "537901a53513fa3374bec710",
"images": [
"img/17.jpg"
],
"itemImage": "img/1.jpg",
"createdDate": "5/18/2014 6:53:25 PM",
"location": [
-2.062251,
52.612397
]
}]
我正在尝试使用ko.mapping.fromJSON / JS,但我不停地叹了口气:(
var viewModel = {};
在我的Ajax成功函数中,
viewModel.model = ko.mapping.fromJSON(data);
ko.applyBindings(viewModel);
HTML
<div data-bind=" foreach: model">
<div data-bind="text: body"></div>
</div>
我已经尝试过这篇由John Papa回答的帖子,但我认为我的阵列是不同的。 Knockout JS mapping plugin confusion 我可以手动完成,但无聊手动构建视图模型:)。
还尝试了这个并且进一步混淆了Can't map JSON object to ViewModel (knockout js)
任何善良的灵魂都能指出我正确的方向吗?
答案 0 :(得分:1)
您需要做的就是:
var viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
你按如下方式循环它们:
<table class="table table-striped">
<tbody data-bind="foreach: $data">
<tr>
<td data-bind="text: id"></td>
</tr>
</tbody>
</table>
参见此处的示例: