Handlebars JS——从数组的第三个(最后一个)元素获取数据
Handlebars JS -- Get Data from the Third (Last) Element of an Array
我有一个 JSON 数据对象,它是从 Spotify API 请求专辑列表的结果。数据对象包含一组专辑对象。该数组称为 "items"。每个对象都有一个包含 3 张图像的数组,该数组称为 "images"
我需要从数组中的第三张图片中提取 URL 并将其插入到我的 html 中,如下所示:
<img src="{{url}}"/>
这是我正在使用的模板:
{{#each items}}
<div>
<h2>{{name}}</h2>
{{#each images}}
{{#getSmallImage @index}}
<img src="{{url}}"/>
{{/getSmallImage}}
{{/each}}
</div>
{{/each}}
我注册了以下帮手:
Handlebars.registerHelper("getSmallImage", function (index, options) {
return index == 2;
});
脚本没有打印所需的 img 元素,而是简单地打印单词 "true."
大错特错,我知道。
我在 SO 上看到过类似的帖子,但需要有关此特定问题的帮助。
Handlebars 在每个块中有一个 @last
变量。 documentation 表示它是一个布尔值,在迭代的最后一步为真。因此,您可以将模板更改为以下内容:
{{#each items}}
<div>
<h2>{{name}}</h2>
{{#each images}}
{{#if @last}}
<img src="{{url}}"/>
{{/if}}
{{/each}}
</div>
{{/each}}
我有一个 JSON 数据对象,它是从 Spotify API 请求专辑列表的结果。数据对象包含一组专辑对象。该数组称为 "items"。每个对象都有一个包含 3 张图像的数组,该数组称为 "images"
我需要从数组中的第三张图片中提取 URL 并将其插入到我的 html 中,如下所示:
<img src="{{url}}"/>
这是我正在使用的模板:
{{#each items}}
<div>
<h2>{{name}}</h2>
{{#each images}}
{{#getSmallImage @index}}
<img src="{{url}}"/>
{{/getSmallImage}}
{{/each}}
</div>
{{/each}}
我注册了以下帮手:
Handlebars.registerHelper("getSmallImage", function (index, options) {
return index == 2;
});
脚本没有打印所需的 img 元素,而是简单地打印单词 "true."
大错特错,我知道。
我在 SO 上看到过类似的帖子,但需要有关此特定问题的帮助。
Handlebars 在每个块中有一个 @last
变量。 documentation 表示它是一个布尔值,在迭代的最后一步为真。因此,您可以将模板更改为以下内容:
{{#each items}}
<div>
<h2>{{name}}</h2>
{{#each images}}
{{#if @last}}
<img src="{{url}}"/>
{{/if}}
{{/each}}
</div>
{{/each}}