javascript - 尝试使用映射将数组从 JSON 映射到淘汰赛

标签 javascript json knockout-2.0 knockout-mapping-plugin

嗨,我有一个像这样的 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>

请参阅此处的示例:

http://jsfiddle.net/wr5W7/5/

关于javascript - 尝试使用映射将数组从 JSON 映射到淘汰赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24295450/

相关文章:

javascript - 前/后 DIV 过渡鼠标悬停,如今日美国

javascript - 使用 jquery ajax json 发送表单数据

jquery - 按标签和用户名过滤 Instagram api 结果

javascript - KnockoutJS foreach 不会遍历集合

javascript - Knockoutjs - 空 json

javascript - 访问纽约时报 API 和维基媒体 API 之间的区别?

javascript - onClick 事件不起作用 - JS

javascript - Lodash 是否与 _.keys 相反?

列表中的 Json.Decode.Pipeline (elm 0.18)

Jquery knockout : Render template in-memory