Вы можете передать данные в новое диалоговое окно в качестве второй опции, используя
await dc.beginDialog(DIALOG_NAME, your_data);
. Для меня я обычно передаю LUIS распознавательResult в этом слоте, но в некоторых случаях, когда мне не нужновернитесь к захваченному намерению и сущностям, которые я передал простой переменной.
Затем вы можете получить доступ к этому в диалоговом окне как к части контекста.Я использую «шаг» в качестве имени переменной контекста, так что вы можете найти это значение в step._info.options
(не уверен, требуется ли подчеркивание).
Если вы передаете простое значение, оно доступно напрямую(т.е. yourData = step._info.options
).Если это объект JSON, вы просто ссылаетесь на искомое значение как обычно.Например, чтобы получить сущность, которую я использую myEntity = step._info.options.entities.myEntityName[0]
.
Имейте в виду свою переменную область видимости на случай, если вам может понадобиться повторно использовать это значение несколько раз.Лучше всего сохранить это в разговорном государстве, особенно если вы не переходите сразу из одного диалога в другой.