我正在尝试在车把模板中指定数组中项目的索引:
{
people: [
{"name":"Yehuda Katz"},
{"name":"Luke"},
{"name":"Naomi"}
]
}
使用这个:
<ul id="luke_should_be_here">
{{people[1].name}}
</ul>
如果以上是不可能的,我将如何编写一个可以访问数组中特定项目的帮助程序?
我正在尝试在车把模板中指定数组中项目的索引:
{
people: [
{"name":"Yehuda Katz"},
{"name":"Luke"},
{"name":"Naomi"}
]
}
使用这个:
<ul id="luke_should_be_here">
{{people[1].name}}
</ul>
如果以上是不可能的,我将如何编写一个可以访问数组中特定项目的帮助程序?
试试这个:
<ul id="luke_should_be_here">
{{people.1.name}}
</ul>
以下内容,在 index 之前有一个额外的点,按预期工作。此处,当索引后跟另一个属性时,方括号是可选的:
{{people.[1].name}}
{{people.1.name}}
但是,在以下情况下需要方括号:
{{#with people.[1]}}
{{name}}
{{/with}}
在后者中,使用不带方括号的索引号将得到一个:
Error: Parse error on line ...:
... {{#with people.1}}
-----------------------^
Expecting 'ID', got 'INTEGER'
顺便说一句:括号(也)用于段文字语法,以引用否则无效的实际标识符(不是索引号)。在更多细节什么是合法的标识符?
(在 YUI 中用 Handlebars 测试。)
您现在可以get
为此使用帮助程序:
(get people index)
尽管如果您收到有关索引需要为字符串的错误,请执行以下操作:
(get people (concat index ""))
{{#each array}}
{{@index}}
{{/each}}
如果未记录的功能不是你的游戏,同样可以在这里完成:
Handlebars.registerHelper('index_of', function(context,ndx) {
return context[ndx];
});
然后在模板中
{{#index_of this 1}}{{/index_of}}
我在掌握之前写了上面的内容
this.[0]
如果不编写自己的助手,我看不到一个人在把手上走得太远。