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

Handlebars列表构造问题:如何将自定义助手输出转为正确<li>列表结构

解决方案

你当前的问题是把列表助手嵌套在了单个<li>标签内,导致所有数组元素都被塞进同一个<li>里。用Handlebars内置的{{#each}}助手就能直接解决这个问题,不需要自定义助手:

正确的模板代码

<ul style="list-style-type: square;">
  {{#each arrayItems}}
    <li>{{this}}</li>
  {{/each}}
</ul>

说明

  • {{#each arrayItems}}会遍历你传入的arrayItems数组
  • 每一次迭代都会生成一个独立的<li>标签,把当前数组元素{{this}}包裹进去
  • 最终渲染出来的结构就是你需要的多个<li>嵌套在<ul>内的形式

如果一定要用自定义的orderedList助手(非必要),可以先注册这个助手:

Handlebars.registerHelper('orderedList', function(items, options) {
  let result = '';
  items.forEach(item => {
    result += options.fn(item);
  });
  return result;
});

然后模板这样写:

<ul style="list-style-type: square;">
  {{#orderedList arrayItems}}
    <li>{{this}}</li>
  {{/orderedList}}
</ul>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:42:10