模板中的下划线_.each数组

时间:2014-05-20 03:50:17

标签: javascript backbone.js underscore.js

我有一个包含多个对象的JSON,如下所示:

  {
  "taskId": 100,
  "name": "I-9 Form",
  "desc": "Form I-9",
  "dueDate": "0",
  "links": [{"link1": "http://www.uscis.gov/sites/default/files/files/form/i-9.pdf"},   {"link2": "http://www.uscis.gov/sites/default/files/files/form/i-9.pdf"}],
  "status": "Completed",
  "comments": ""
}

我想在模板中显示数组中的每个链接。我认为我很接近:

{{ _.each(model.links, function(link) { }}
    <div>Links: {{= link}}</div>
{{ }); }}

但打印出来

链接:[object Object] 链接:[object Object]

在dom中。我需要做什么才能打印出每个链接?

2 个答案:

答案 0 :(得分:2)

如果links中的对象只有一个键/值,那么你可以这样做:

{{= _(link).values()[0] }}

无法知道密钥是什么。

演示:http://jsfiddle.net/ambiguous/66vY4/

答案 1 :(得分:0)

您的数据结构错误。如果是数组,则应使用相同的密钥。链接而不是link1和link2。如果你想将它用作link1和link2,它不应该是一个数组。只是一个普通的对象。然后上面的代码将起作用。

数据结构:

{
      "taskId": 100,
      "name": "I-9 Form",
      "desc": "Form I-9",
      "dueDate": "0",
      "links": [{"link": "http://www.uscis.gov/sites/default/files/files/form/i-9.pdf"},   {"link": "http://www.uscis.gov/sites/default/files/files/form/i-9.pdf"}],
      "status": "Completed",
      "comments": ""
    }

模板:

{{ _.each(model.links, function(link) { }}
    <div>Links: {{= link.link}}</div>
{{ }); }}