通过facebook Messenger机器人元素循环
我有下面的代码
bodyObj['providers'].map(service => {
// console.log(service.name)
})
const campaigns = {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [{
"title": bodyObj['providers'][0].name,
"image_url": bodyObj['providers'][0].coverImage.toString(),
"subtitle": bodyObj['providers'][0].location.textLoc,
"buttons": [{
"type": "postback",
"payload": config.VIEW_SERVICES,
"title": "Select"
}]
},
{
"title": bodyObj['providers'][1].name,
"image_url": bodyObj['providers'][1].coverImage.toString(),
"subtitle": bodyObj['providers'][1].location.textLoc,
"buttons": [{
"type": "postback",
"payload": config.VIEW_SERVICES,
"title": "Select"
}]
}
]
}
}
}
但我想找到一种方法,使我可以遍历bodyObj对象并在facebook Messenger bot模板中显示每个元素详细信息,而不是我在上面所做的事情。谢谢您的帮助,在此先感谢
回答如下:只需在map
属性内使用elements
:
const campaigns = {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": bodyObj['providers'].map(provider => ({
"title": provider.name,
"image_url": provider.coverImage.toString(),
"subtitle": provider.location.textLoc,
"buttons": [{
"type": "postback",
"payload": config.VIEW_SERVICES,
"title": "Select"
}]
}))
}
}
}