luk*_*emh 259 javascript handlebars.js
我试图在把手模板中指定数组中项目的索引:
{
people: [
{"name":"Yehuda Katz"},
{"name":"Luke"},
{"name":"Naomi"}
]
}
Run Code Online (Sandbox Code Playgroud)
使用这个:
<ul id="luke_should_be_here">
{{people[1].name}}
</ul>
Run Code Online (Sandbox Code Playgroud)
如果以上是不可能的,我如何编写一个可以访问数组中的spefic项的帮助器?
小智 397
试试这个:
<ul id="luke_should_be_here">
{{people.1.name}}
</ul>
Run Code Online (Sandbox Code Playgroud)
Arj*_*jan 307
以下,在索引之前有一个额外的点,就像预期的那样工作.这里,当索引后跟另一个属性时,方括号是可选的:
{{people.[1].name}}
{{people.1.name}}
Run Code Online (Sandbox Code Playgroud)
但是,方括号在以下方面是必需的:
{{#with people.[1]}}
{{name}}
{{/with}}
Run Code Online (Sandbox Code Playgroud)
在后者中,使用不带方括号的索引号将得到一个:
Error: Parse error on line ...:
... {{#with people.1}}
-----------------------^
Expecting 'ID', got 'INTEGER'
Run Code Online (Sandbox Code Playgroud)
另外:括号(也)用于段文字语法,用于引用否则无效的实际标识符(而不是索引号).更多详细信息什么是有效标识符?
(在YUI中使用把手测试.)
您现在可以使用get
帮助程序:
(get people index)
Run Code Online (Sandbox Code Playgroud)
虽然如果您收到有关索引需要是字符串的错误,请执行以下操作:
(get people (concat index ""))
Run Code Online (Sandbox Code Playgroud)
Bre*_*aub 15
如果未记录的功能不是您的游戏,则可以在此处完成相同的操作:
Handlebars.registerHelper('index_of', function(context,ndx) {
return context[ndx];
});
Run Code Online (Sandbox Code Playgroud)
然后在模板中
{{#index_of this 1}}{{/index_of}}
Run Code Online (Sandbox Code Playgroud)
在我抓住之前,我写了上面的内容
this.[0]
Run Code Online (Sandbox Code Playgroud)
如果没有自己的帮助,我不能看到一个人用车把太远了.
如果要使用动态变量
这不起作用:
{{#each obj[key]}}
...
{{/each}}
Run Code Online (Sandbox Code Playgroud)
你需要这样做:
{{#each (lookup obj key)}}
...
{{/each}}
Run Code Online (Sandbox Code Playgroud)
小智 7
如果您想先获取/最后一次,请尝试此操作.
{{#each list}}
{{#if @first}}
<div class="active">
{{else}}
<div>
{{/if}}
{{/each}}
{{#each list}}
{{#if @last}}
<div class="last-element">
{{else}}
<div>
{{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
当你在数组中循环时each
,如果你想在当前项的上下文中访问另一个数组,你就是这样做的.
这是示例数据.
[ { name: 'foo', attr: [ 'boo', 'zoo' ] }, { name: 'bar', attr: [ 'far', 'zar' ] } ]
这是获取attr
阵列中第一个项目的把手.
{{#each player}} <p> {{this.name}} </p> {{#with this.attr}} <p> {{this.[0]}} </p> {{/with}} {{/each}}
这将输出
<p> foo </p> <p> boo </p> <p> bar </p> <p> far </p>
归档时间: |
|
查看次数: |
164632 次 |
最近记录: |