При вызове скриптовых расширений, задаваемых в тегах 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
.