如何从json获取额外信息?

时间:2014-10-18 22:29:23

标签: javascript canjs canjs-model

我使用can.Component在页面上显示JSON。

can.Component.extend({
    tag: "some-app",
    scope: {
        items: new Items.List({}),
        displayedItems: function () {
            ...
            return items;
        }

    },
    helpers: {
     ...
    },
    events: {
        "{Items} created": function (Items, ev, newItem) {
            ...
        }
    }
})

如何获得范围或帮助者收到的JSON(下方)的“meta”部分?

{
  "data": [
    {
      "description": "Some text",
      "id": 1,
      "measurement": "pcs",
      "name": "Name of item",
      "resource_uri": "/api/v1/item/1/"
    },
   {....}, {....}
    }
  ],
  "meta": {
    "limit": 20,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 3
  }
}

我可以在Items.findAll().then(function(info){console.log(info.attr('meta'))})的控制台中获取它,但我是(can。)js中的noob,并且无法理解如何在我需要的地方获取它。

1 个答案:

答案 0 :(得分:0)

而不是:

scope: {
        items: new Items.List({})
}

提出请求:

scope: {
        items: Items.findAll()
}

还有其他方法可以在模板中(不建议),或在另一个控制器或组件中创建请求并传入组件的实例化。

如果您需要更多细节,则需要更新您的问题,并提供有关模型的更多详细信息。