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

如何在Handlebars中获取键为数字的对象值?

解决模板中数字键访问报错的方案

嘿,这个问题我之前也碰到过!其实根源在于模板引擎的点号访问语法有规则限制——它要求点号后面的键名必须是合法的标识符(简单说就是不能以数字开头),这就是你用数字键时报错Expecting 'ID', got 'NUMBER'的原因。不用额外创建助手的话,直接换用方括号访问语法就能完美解决:

  • 当你把变量保存为updated.colors['123'](或者直接写updated.colors[123],数字作为键时引号可以省略)
  • 在模板里访问时,别再用{{colors.123}}这种点号写法了,改成{{colors['123']}}或者{{colors[123]}}就可以正常读取值了

给你举个具体的示例:

// 后端赋值示例
updated.colors['456'] = '#ff0000';
// 也可以直接用数字作为键名
updated.colors[789] = '#00ff00';

模板里对应的正确写法:

<!-- 用带引号的方括号访问字符串形式的数字键 -->
<p>红色值:{{colors['456']}}</p>
<!-- 直接用数字作为方括号内的参数访问 -->
<p>绿色值:{{colors[789]}}</p>

总结一下:方括号语法不受标识符规则的限制,能兼容数字、特殊字符等各种类型的键名,完全不需要额外的助手函数就能解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:28:05