如何将值从一个WaterfallDialog传递到ComponentDialog中的另一个WaterfallDialog

时间:2018-10-19 02:29:43

标签: node.js botframework

机器人框架v4

我在ComponentDialog中有两个WaterfallDialogs。

我可以将如下所示的值存储在WaterfallDialogs中

step.values[currenctCategory] = result;

但是当我从第一个WaterfallDialog提示另一个第二WaterfallDialog时 ,我无法在第二个WaterfallDialog中获得step.values [currenctCategory] ​​

1 个答案:

答案 0 :(得分:0)

您需要使用State存储在任何父级或子级对话框中所需的中间值。在版本4中,您可以使用BotAccessors在下面几行中进行操作

 public static string CounterStateName { get; } = $"{nameof(BotAccessors)}.CounterState";

    /// <summary>
    /// Gets or sets the <see cref="IStatePropertyAccessor{T}"/> for CounterState.
    /// </summary>
    /// <value>
    /// The accessor stores the turn count for the conversation.
    /// </value>
    public IStatePropertyAccessor<CounterState> CounterState { get; set; }