如何显示带有下划线模板的JS对象
How to display a JS object with underscore templates?
我将使用下划线模板显示数据的JS对象。我似乎无法找到如何钻取对象以获得国家名称或其他日期(例如tarrifType)并使用我的模板显示它。对象看起来像这样。。。
var items = [
{
"country": {
"China": [
{
"tarrifType": "China Pass",
"fixLine": "23p",
},
{
"tarrifType": "Monthly plan",
"fixLine": "3p",
}
],
"Australia": [
{
"tarrifType": "Pay as you go",
"fixLine": "73p"
},
{
"tarrifType": "Australia Pass",
"fixLine": "49p",
},
{
"tarrifType": "Monthly plan",
"fixLine": "20p",
}
],
"Nigeria": [
{
"tarrifType": "Pay as you go",
"fixLine": "73p"
},
{
"tarrifType": "Nigeria Pass",
"fixLine": "49p"
}
]
}
}];
我正在读取对象并将其绑定到像这样的模板上——它使用这个
var tableTemplate = $("#table-data").html();
$("table.outer tbody").html(_.template( tableTemplate, {items:items} ));
我正在使用这个下划线模板。。。
<script type="text/html" id='table-data'>
<% _.each(items,function(item,key,list){ %>
<tr>
<td></td>
<td><%- item.country %></td>
</tr>
<% }) %>
</script>
到目前为止,我没有得到任何错误,但模板渲染,但只显示[对象对象],所以我认为它几乎在那里。我试着使用点表示法(item.country),但我仍然需要弄清楚如何循环显示它。有什么想法吗?
更改
$("table.outer tbody").html(_.template( tableTemplate, {items:items} ));
至
$("table.outer tbody").html(_.template( tableTemplate, {items:items.country} ));
并更改
<td><%- item %></td>
至
<td><%- country[key].tarrifType %></td>
Items只有一个属性:country。与其用items调用模板,不如用items.country调用它。由于循环中有密钥,因此可以在每次迭代中访问对象。每个对象还返回一个tarifTypes数组等。因此,您可能也不需要迭代这些。
我也创造了这把小提琴。尽管它与_ templates没有直接关系,但它仍然可以让您了解如何迭代JS对象。
干杯,=]
相关文章:
- 筛选下划线中的对象
- 使用下划线将键和值的两个数组合并到一个对象中
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 将一个对象转换为一个单键对象数组(带下划线?)
- 使用下划线.js筛选 JS 对象
- 下划线,将对象列表转换为对象值数组
- 下划线.js,根据键值删除对象数组中的重复项
- 使用下划线链将 2 个对象的属性值合并到数组中
- 使用Javascript和下划线循环嵌套对象和数组
- 如何删除列表中的对象?Javascript nodejs和下划线
- 如何使用下划线根据自定义排序顺序对对象数组进行排序
- 下划线/洛达什号中的快捷方式,用于(递归)设置对象的所有属性
- 下划线分组依据单个方面与嵌套对象属性的比较
- 使用下划线排序依据对对象进行排序
- 从对象数组中删除重复项 - 下划线
- 下划线,清除对象的所有值,但保留键
- 使用下划线操作 JavaScript 对象
- 如何在 JavaScript 中使用 HTML5 文档的下划线小写对象值/数据
- 使用类似查询的对象过滤器数组下划线
- 我可以将所有下划线对象绑定到原生javascript原型吗?