我不确定我是否做错了什么,但我把"日期"作为对象的键,Dust似乎只是输出我输入的内容,而不是正确评估。
{#.weeks pos=items}
{pos['2016-02-15].id}
{/.weeks}
输出:
{位置‘2016-02-15’.id}
如何输出ID而不是字符串?
Dust不允许字符-
作为数组键的一部分。
正如您在评论中提到的,Dust引用中允许-
,但规则略有不同。
Dust引用不能以数字开头,并且包含字符0-9a-zA-Z_$-
。这反映了除了连字符之外的真实Javascript变量的规则。
数组键可以以数字开头,但不能包含连字符。因此,当您使用日期作为键的一部分时,Dust使用数组键评估路径,因为日期以数字开头。
例如,这将使用数组密钥评估路径:
{#.weeks pos=items}
{pos[20160215].id}
{/.weeks}
这也是如此,因为它使用了参考评估路径:
{#.weeks pos=items}
{pos[date-2016-02-15].id}
{/.weeks}
你将不得不稍微篡改你的数据。
我认为您已经发现了Dust处理引用命名的方式不一致。在早期的Dust中,引用只能是有效的JS变量名。这个限制后来被放宽了,但显然有一些粗略的地方。