在Handlebars中迭代对象数组不工作
iterating over array of objects in Handlebars not working
所以我试图迭代一个由服务器作为json对象返回的数组。我已经这样做了一次,它工作得很好,但是这里的另一个似乎不起作用。
车把代码是这样的
<script id="messageTemplate" type="text/x-handlebars-template">
{{#each response.data}}
<div class="message">
{{#messages}}
<h4>{{this.from}}</h4>
<b>{{this.datetime}}</b>
<p>{{this.body}}</p>
{{/messages}}
</div>
{{/each}}
</script>
和我要遍历的json对象
{
"data": {
"id": 32607158,
"with_account": "user1",
"with_account_id": 8483786,
"last_message_preview": "XD",
"message_count": 289,
"messages": [{
"id": 153359194,
"from": "user1",
"account_id": 20094939,
"sender_id": 8483786,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711004
}, {
"id": 153359270,
"from": "user2",
"account_id": 20094939,
"sender_id": 20094939,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711023
}, {
"id": 153359330,
"from": "user1",
"account_id": 20094939,
"sender_id": 8483786,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711044
}, {
"id": 153359334,
"from": "user2",
"account_id": 20094939,
"sender_id": 20094939,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711048
}, {
"id": 153359386,
"from": "user1",
"account_id": 20094939,
"sender_id": 8483786,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711057
}, {
"id": 153359430,
"from": "user2",
"account_id": 20094939,
"sender_id": 20094939,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711065
}, {
"id": 153359474,
"from": "user1",
"account_id": 20094939,
"sender_id": 8483786,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711078
}, {
"id": 153359522,
"from": "user2",
"account_id": 20094939,
"sender_id": 20094939,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711090
}, {
"id": 153359638,
"from": "user2",
"account_id": 20094939,
"sender_id": 8483786,
"body": "*hugs*",
"conversation_id": 32607158,
"datetime": 1439711106
}],
"done": false,
"page": 2,
"datetime": 1439711387
},
"success": true,
"status": 200
}
有人知道为什么它不工作吗?谢谢你的帮助。
您的each
在错误的地方。data
是一个单一对象,所以你不需要迭代它。可以对data
with
语句 {{#with response.data}}
<div class="message">
{{#each messages}}
<h4>{{this.from}}</h4>
<b>{{this.datetime}}</b>
<p>{{this.body}}</p>
{{/each}}
</div>
{{/with}}
如果你正在用响应对象编译模板,那么with
将变成
{{#with data}}
相关文章:
- Var工作,但在使用数组执行相同操作时停止
- 2D数组在Angular JS 1.2.x中工作,而不是在1.3.x中工作
- 为什么AngularJS$scope.watch()在我告诉它监视数组时会停止工作
- 如何制作Javascript's减少对数组数组的方法工作
- 试着让数组工作
- 如何让Knockout可观察数组与jQuery对话框一起工作
- 当许多元素相等时,Javascript数组排序无法正常工作
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- 从数组中随机选择,但在for循环中选择是不可能的;没有按预期工作
- map() 函数如何在数组上工作
- Javascript数组未按预期工作
- 如何在谷歌工作表中使用数组公式时使用getLastRow.我可以让它忽略一列吗
- Web工作程序在处理大型数组时内存不足
- Polymer v1.3.1数据绑定无论是否使用带有重复模板和json数组的iron ajax都无法工作
- Knockout.js多个可观察数组不工作
- 解析数组时 for 循环无法正常工作
- ngRepeat:dupes 使用名为“name”的数组在中继器中复制键.用其他名称,它是工作
- 谷歌地图API v3动态标记,帮助使数组工作
- js 数组排序无法正常工作
- JavaScript发送变量,但插入数组PHP不能正常工作