【问题标题】:Handlebars JS -- Get Data from the Third (Last) Element of an ArrayHandlebars JS——从数组的第三个(最后一个)元素中获取数据
【发布时间】:2016-05-02 00:10:28
【问题描述】:

我有一个 JSON 数据对象,它是从 Spotify API 请求专辑列表的结果。数据对象包含一个专辑对象数组。该数组称为“项目”。每个对象都有一个包含 3 个图像的数组,该数组称为“图像”

我需要从数组中的第三个图像中提取 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 上看到过类似的帖子,但在这个特定问题上需要帮助。

【问题讨论】:

    标签: jquery json handlebars.js spotify


    【解决方案1】:

    Handlebars 在每个块中都有一个 @last 变量。 documentation 表示它是一个布尔值,对于迭代的最后一步是正确的。因此,您可以将模板更改为以下内容:

    {{#each items}}
        <div>
            <h2>{{name}}</h2>
            {{#each images}}
                {{#if @last}}
                    <img src="{{url}}"/>
                {{/if}}
            {{/each}}
        </div>
    {{/each}}
    

    【讨论】:

    • 谢谢,76484,这正是我所需要的。我也正确地弄清楚了如何使用辅助函数。
    猜你喜欢
    • 2012-06-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2023-04-06
    • 2022-09-29
    相关资源
    最近更新 更多