Переменные в if:, else:, elseif:, script:


При вызове скриптовых расширений, задаваемых в тегах if:, else:, elseif:, script: и макроподстановках в ответах {{}} (тег a:), передаются следующие переменные:

Скрипт может быть задан:

  • Непосредственно в стейте.
    state: Hello
        q!: * меня зовут $Name *
        script:
            $session.name = $Name
        a: Привет, {{ $session.name }}!
  • Вызовом функции. В таком случае объявляем скрипт в JS-файле и вызываем его в стейте после тега script.

Например, объявляем скрипт в JS-файле:

function getName() {
    var $session = $jsapi.context().session;
    $session.name = $Name;
}

Вызываем скрипт в стейте:

    state: Hello
        q!: * меня зовут $Name *
        script: getName()
        a: Привет, {{ $session.name }}!

Следует отметить, что в JS-файлах ко всем переменным можно обратиться, убрав знак $ и добавив в начало $jsapi.context().

Например, в JS-файле $session, будет иметь вид: $jsapi.context().session.

Объявление переменных: var $session = $jsapi.context().session.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней