You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Handlebars.js嵌套{{#each}}失效求助(基于express-handlebars)

问题原因与解决方法

你的问题出在内层遍历的变量名错误:
你传入的data是二维数组,外层{{#each data}}迭代的每一项本身就是子数组(比如[1,2]),但你模板里写的{{#each inner}}是在查找当前项的inner属性——而子数组根本没有这个属性,所以自然没有内容渲染。

解决方法

方法1:直接遍历当前迭代项(推荐)

把内层遍历的inner换成this,this在当前上下文就代表外层迭代到的子数组:

{{#each data}}
  <div>
  {{#each this}}
    inside - {{this}}
  {{/each}}
  </div>
{{/each}}

方法2:调整数据格式为对象数组

如果你一定要保留inner作为变量名,可以在后端把数据转换成对象数组的格式:

// 修改后的测试数据
data: [{ inner: [1,2] }, { inner: [3,4] }, { inner: [5,6] }]

这样原模板的{{#each inner}}就能正常遍历每个对象的inner属性了。

内容的提问来源于stack exchange,提问作者Mero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:23:15