嗨,我有一个像这样的 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 我可以手动完成,但厌倦了手动构建 View 模型:)。
也尝试过这个,但进一步感到困惑Can't map JSON object to ViewModel (knockout js)
有好心人能指点我正确的方向吗?
最佳答案
您需要做的就是以下操作:
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>
请参阅此处的示例:
关于javascript - 尝试使用映射将数组从 JSON 映射到淘汰赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24295450/