Dust JS Dot Into字符串密钥名称



我不确定我是否做错了什么,但我把"日期"作为对象的键,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变量名。这个限制后来被放宽了,但显然有一些粗略的地方。

最新更新