1

我用来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(如下)的“元”部分提供给作用域或助手?

{
  "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'))}),但我是(可以。)js 中的菜鸟,无法理解如何在我需要的地方获得它。

4

1 回答 1

0

而不是这个:

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

提出请求:

scope: {
        items: Items.findAll()
}

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

如果您想要更多细节,您需要使用模型的更多详细信息来更新您的问题。

于 2014-10-21T19:29:37.580 回答