为什么车把使用点括号表示法通过索引访问数组

Why does handlebars use dot bracket notation for accessing arrays by index?

本文关键字:索引 数组 访问 表示 为什么      更新时间:2023-09-26

Handlebars是一个JS库,那么为什么在数组索引值之前需要一个点呢data.array.[0]而不是data.array[0]

方括号为"分段文字符号";

要引用非有效标识符的属性,可以使用段文字表示法:

{{#each articles.[10].[#comments]}}
 <h1>{{subject}}</h1>
 <div>
   {{body}}
 </div>
{{/each}}

如你所见,你使用方括号来"quote"在表达式路径中作为裸标识符可能有问题的标识符,如#comments。这类有问题的标识符还包括在路径末尾出现的整数标识符(如数组索引);我如何通过把手中的索引访问访问数组项?

至于为什么在对有问题的标识符(例如,foo[#comments])使用方括号语法时,他们根本没有完全取消点,我不能肯定地说,但它确实看起来很好地符合可读性,以确保路径的段总是用句点分隔。

Handlebars.jsMustache库的增强版本。我猜它使用与Mustache相似的语法进行解析,所以这个点符号一定是从那里来的。