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

使用Handlebars时HTML中Div卡片无法显示的问题排查

解决Handlebars {{#each}}遍历SQL数据不显示的问题
  • 转换RowDataPacket为标准数组:控制台打印的RowDataPacket是mysql模块返回的特殊对象集合,Handlebars的{{#each}}无法直接识别这类非标准数组。你可以通过Array.from(queryResults)或者queryResults.map(row => ({...row}))将结果转换成纯JS数组,确保传给模板的是普通数组类型。

  • 核对上下文变量名:确认传给Handlebars渲染函数的对象中,数组的键名确实是rows。比如渲染代码要写成template({ rows: 转换后的数组 }),如果键名写成了data或其他,{{#each rows}}会找不到对应数据。

  • 检查模板语法正确性:确保{{#each rows}}和{{/each}}成对出现,中间的表达式没有拼写错误或未闭合标签。可以先简化代码块内容,比如只写{{this.title}}(假设数据有title字段)来测试是否能渲染出内容。

  • 确认异步流程顺序:必须等数据库查询完成、数据获取到之后,再执行Handlebars的渲染操作。如果是用回调函数,要把渲染代码放在回调内部;如果用async/await,要确保await查询结果后再渲染,避免渲染时数据还未到位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 06:27:08