我的对象有什么问题(关于knockoutjs映射插件)

时间:2011-11-03 19:24:25

标签: javascript knockout.js knockout-mapping-plugin

我正用这个把头发拉出来。我不确定发生了什么。我已经阅读了有关映射的所有教程,但我显然遗漏了一些东西。

{
        "address": "110",
        "city": "Durham",
        "id": 1,
        "name": "Keep",
        "persistent": true,
        "salesRep": "Me",
        "state": "NC",
        "user": {
            "email": "test@test.com",
            "id": 4,
            "name": "Test",
            "password": "test",
            "persistent": true
        }
    }

我试过

ko.mapping.fromJSON(data);

ko.mapping.fromJS(data);

在我的旧代码中,我最终做到了这一点。

    viewModel.customers(data);

但是我的JSON看起来与众不同。它没有嵌套对象,它在开头和结尾都有括号,使它成为一个数组。这似乎是非常基本的。我根本没有收到任何错误。谢谢你的帮助。

修改

http://jsfiddle.net/gjemN/

1 个答案:

答案 0 :(得分:3)

在您的示例中,您正在处理JavaScript对象而不是JSON(字符串表示形式)。

所以,你想要调用ko.mapping.fromJS。如果您要回到一系列客户,那么您可以这样做:

ko.mapping.fromJS(data2, null, viewModel.customers)

类似于:http://jsfiddle.net/rniemeyer/BQe2z/