在Novu平台中发送对象数组作为负载并展示的方法
在Novu中发送对象数组负载并在模板中展示
是否支持发送对象数组作为负载?
完全可以,你提供的代码示例本身是正确的——Novu允许在payload中传递数组类型数据,包括对象数组,不需要额外配置。
模板中如何格式化展示数组元素?
Novu模板基于Handlebars语法,可通过循环语法遍历数组并渲染元素,以下是不同渠道的实现方式:
1. 邮件/富文本类模板
针对邮件、站内信这类支持HTML的渠道,用{{#each}}循环生成结构化内容:
<h3>数据列表:</h3> <ul> {{#each payload.data}} <li>{{this.name}}</li> {{/each}} </ul>
这段代码会将数组中每个对象的name字段渲染为列表项。
2. 短信/纯文本类模板
对于短信、推送通知这类纯文本场景,用循环拼接简洁内容:
数据列表: {{#each payload.data}} - {{this.name}} {{/each}}
渲染后输出效果:
数据列表: - 1 - 2
3. 复杂格式自定义
如果需要添加逻辑判断或特殊样式,可结合Handlebars的辅助语法:
{{#each payload.data}} {{#if @first}} 【首项】{{this.name}} {{else}} 【其他项】{{this.name}} {{/if}} {{/each}}
验证提示
- 触发事件时确保
payload.data是有效数组,避免传入undefined或非数组值导致渲染异常 - 可在Novu控制台的模板预览功能中,模拟传入数组测试数据,提前验证渲染效果
内容的提问来源于stack exchange,提问作者The Code Crusader
相关产品推荐
相关产品推荐

