使用数组 object 时如何在 bot 框架作曲家中传递动态变量值
How to passthrough dynamic variable value in bot framework composer when using array object
所以我的 problem/challenge 是我正在通过 http 请求获取一些数据,我想用这些数据来动态构建多按钮操作。
因此,从我的 http 请求中,我可能会得到 1 到多个值,然后我将使用这些值为每个项目循环构建对机器人的输出操作。
如果我在向数组添加新 object 时使用静态内容,一切正常,例如
{ "type": "Action.Submit",
"title": "my title",
"data": "my data"
}
所以这会打印出显示“我的标题”的按钮
但后来我尝试让用户 属性 在那里传递我的数据,它只打印出 属性 名称而不是其中的值。例如
{ "type": "Action.Submit",
"title": "${turn.myTitle}",
"data": "${turn.myData}"
}
现在只打印出 property/variable 名称 ${turn.MyTitle}
那么有什么方法可以传递这里的实际数据吗?我可以看到,如果我的类型是字符串,则数据还可以,但它不再像 and object 一样工作(因为开始和结束时有额外的双引号)
所以回答我自己的问题,因为当你几天不关注这个话题时,它似乎会有所帮助:)
因此要传递对象然后创建数组:
- 使用设置属性来创建您的对象值,例如turn.action.
set properties to object
- 在此使用后编辑一个数组 属性,您只需将对象作为表达式“turn.actions”推入其中
push to array
一旦你有了这个数组应该显示正确的值,如:
[ {"type":"Action.Submit"}, {"title":"<your title value>"}, {"data":"<your data value>"} ]
然后只需在 foreach 中循环即可构建多个操作按钮。
参考:
所以我的 problem/challenge 是我正在通过 http 请求获取一些数据,我想用这些数据来动态构建多按钮操作。
因此,从我的 http 请求中,我可能会得到 1 到多个值,然后我将使用这些值为每个项目循环构建对机器人的输出操作。
如果我在向数组添加新 object 时使用静态内容,一切正常,例如
{ "type": "Action.Submit",
"title": "my title",
"data": "my data"
}
所以这会打印出显示“我的标题”的按钮
但后来我尝试让用户 属性 在那里传递我的数据,它只打印出 属性 名称而不是其中的值。例如
{ "type": "Action.Submit",
"title": "${turn.myTitle}",
"data": "${turn.myData}"
}
现在只打印出 property/variable 名称 ${turn.MyTitle}
那么有什么方法可以传递这里的实际数据吗?我可以看到,如果我的类型是字符串,则数据还可以,但它不再像 and object 一样工作(因为开始和结束时有额外的双引号)
所以回答我自己的问题,因为当你几天不关注这个话题时,它似乎会有所帮助:)
因此要传递对象然后创建数组:
- 使用设置属性来创建您的对象值,例如turn.action.
set properties to object - 在此使用后编辑一个数组 属性,您只需将对象作为表达式“turn.actions”推入其中 push to array
一旦你有了这个数组应该显示正确的值,如:
[ {"type":"Action.Submit"}, {"title":"<your title value>"}, {"data":"<your data value>"} ]
然后只需在 foreach 中循环即可构建多个操作按钮。
参考: