1

我有一些看起来像这样的测试数据:

{
    "firstName":"Ben",
    "products": [{
      "name": "first product",
      "position": 0
    }, {
      "name": "second product",
      "position": 1
    }, {
      "name": "third product",
      "position": 2
    }]
}

在我的模板中,我有这样的东西:

<p>Hi {{firstName}}</p>

哪个工作正常。现在我想循环浏览我的产品

所以我尝试了这个:

{{#each products}}
    {{#if this.position == 0}}
        <h1>{{this.name}}</h1>
    {{else}}    
        <h2>{{this.name}}</h2>
    {{/if}}
{{/each}}

但它不起作用。我也找不到任何有关执行 if 语句的文档。我找到的最接近的是:

https://sendgrid.com/docs/ui/sending-email/using-handlebars/

它谈到“Basic If, Else, Else If”,这表明有一个更高级的版本,但我找不到它的文档......

有谁知道我做错了什么?

PS:我的例子只是为了这篇文章而简化了。

4

2 回答 2

0

看起来 SendGrid 文档只是Basic If...用来区分If with a Root的下一部分。他们在页面较高的部分使用了类似的标题。

基于此,它们似乎没有“如果值等于”的逻辑,只是“如果字段存在”,因此您需要更新 JSON 以使用该格式,例如它们在后面的示例中。

于 2019-03-18T17:34:04.367 回答
0

您需要的是以下构造:

{{#equals city_code avl}}
        AVL
{{else}}
        Not AVL
{{/equals}}

请参阅https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#conditional-statements

{{if anything}}只检查anything是真还是假;你无法将它与某物相提并论。

于 2020-09-29T11:07:02.767 回答