【发布时间】:2014-06-18 21:41:08
【问题描述】:
嗨,我有一个这样的 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)
有好心人能指点我正确的方向吗?
【问题讨论】:
-
数据实际上是 JSON 字符串,还是已经是 javascript 对象?您可能需要改用 ko.mapping.fromJS
-
两者都试过了,让它部分地与 JS 一起工作,但映射被搞砸了,所以它只将一个项目映射到一个可观察的数组,thx
-
我刚刚使用上面声明的对象对其进行了测试,看起来还不错。我想知道它是否可能是 ajax 调用本身 - 在将数据传递给 ko 映射插件之前,您能否调试并检查数据是否包含您期望的内容?
-
嗨,数据没有改变,这是提琴手的输出,根据那里的验证器,它也是有效的 JSON!
-
那么
viewModel.model在映射之后实际上包含什么?您是否在控制台中遇到任何错误?
标签: javascript json knockout-2.0 knockout-mapping-plugin