javascript - 基于查找的 Handlebars 条件

标签 javascript handlebars.js

我有以下数据结构:

{
    things: [
        "desk",
        "chair",
        "pen",
        "book",
        "lamp"
    ],
    owners: [
        "Julia",
        "Sandra",
        "John",
        "Paul"
    ]
}

什么在起作用:

这个handleblars模板:

{{#each things}}
    <p>This {{this}} belongs to {{lookup ../owners @index}}</p>
{{/each}}

正确输出:

This desk belongs to Julia
This chair belongs to Sandra
This pen belongs to John
This book belongs to Paul
This lamp belongs to

什么不起作用:

现在,我想添加一个条件,因为最后一个 thing 可能没有 owner。模板将类似于:

{{#each things}}
    {{#if lookup ../owners @index}}
        <p>This {{this}} belongs to {{lookup ../owners @index}}</p>
    {{else}}
        <p>...But this {{this}} belongs to nobody</p>
    {{/if}}
{{/each}}

输出:

This desk belongs to Julia
This chair belongs to Sandra
This pen belongs to John
This book belongs to Paul
...But this lamp belongs to nobody

不幸的是,这个{{#if lookup ../owners @index}} 不起作用。

我的问题:是否可以使用内置的 Handlebars 助手来实现这一点,还是我必须编写自定义助手?

最佳答案

你确实可以做你想做的事,使用子表达式:

{{#if (lookup ../owners @index)}}

就像一个魅力。 (来源:Handlebars website)

关于javascript - 基于查找的 Handlebars 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483744/

相关文章:

javascript - 如何使用 Angular 下拉列表中的选定值填充数组?

javascript - 在 ruby​​ on Rails 4 中完成项目

javascript - Jquery:slideToggle,然后滚动到 div

handlebars.js - Handlebars 可以访问脚本标签中的数据

Javascript:访问多维数组

javascript - 从数组中获取缺失元素的数量

javascript - 带有 HBS 文件的 Angularritics?

javascript - Ember : Loading all template at once

javascript - 如何使用条件语句在 Handlebars 中显示/隐藏 html 元素

ember.js - Ember - registerHelper else 条件总是渲染两次