首页 > 解决方案 > 如何在基础电子邮件模板上使用对象数组?

问题描述

我使用基金会电子邮件,我可以通过将变量包装在raw标签中来使用模板上的变量,例如:

<raw><%= myVariable %></raw>

现在,我需要添加附件,附件以数组形式出现:

      attachmentsData: [
        {
          id: '301e165f-130e-4f89-83da-a49ff43172ce_Screenshotfrom2018-11-1916-43-01.png',
          title: 'Screenshotfrom2018-11-1916-43-01.png',
          url: 'https://s3.eu-central-1.amazonaws.com/dev-messaging-attachments/301e165f-130e-4f89-83da-a49ff43172ce_Screenshotfrom2018-11-1916-43-01.png',
        },
        {
          id: '301e165f-130e-4f89-83da-a49ff43172ce_Screenshotfrom2018-11-1916-43-02.png',
          title: 'Screenshotfrom2018-11-1916-43-02.png',
          url: 'https://s3.eu-central-1.amazonaws.com/dev-messaging-attachments/301e165f-130e-4f89-83da-a49ff43172ce_Screenshotfrom2018-11-1916-43-02.png',
        },
      ],

在文档中,它还说我可以遍历src/data以 yml 格式声明的数组。

但是在我的情况下,我需要来自后端的对象数组。

但如果它来自后端,我必须用raw标签解析它。

但如果使用原始标签,我无法使用each帮助程序: https ://foundation.zurb.com/emails/docs/panini.html#custom-data

你知道如何循环这个数组吗?请注意,如果我这样做<raw><%= myArray[0].name %></raw>可以工作并打印正确的值。

有小费吗?谢谢

标签: handlebars.jsejs

解决方案


如果<raw><%= myArray[0].name %></raw>有效,那么以下内容也应该有效。

<% myArray.forEach(data => { %>
    <raw><%= data.name %></raw>
<% }); %>

推荐阅读