Dust JS Dot Into string Key Name

时间:2016-07-19 02:34:55

标签: javascript templates dust.js

我不确定我做错了什么,但我有"约会"作为对象的关键,Dust似乎只是输出我输入的内容而不是正确评估。

 {#.weeks pos=items}
    {pos['2016-02-15].id}
 {/.weeks}

输出:

{POS' 2016年2月15日' .ID}

如何输出ID而不是输出字符串?

1 个答案:

答案 0 :(得分:0)

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变量名。这个限制在以后放宽了,但显然有一些粗糙的位置。