Реклама | Adv
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
Сообщения форума
Реклама | Adv

Unbound 2.0 (документация)

Дата: 22.05.2019 17:19:47
MatroseFuchs: Scope Scope - это хранилище данных, находящихся в распоряжении элемента. Не наследуетcя от родительских элементов. В разметке используется строгая типизация - все используемые переменные и их типы, а также events должны быть объявлены до момента использования в вычисляемом выражении, либо переданы из внешнего scope при вызове элемента. Может содержать переменные (var) константы (const) объявление события вызов bind dispatch события $Animation контроллер для анимации переменных в scope   Пример: Скрытый текст # Объявление элемента с аргументом level (def element LevelView(textStyle:str = 'MainTextStyle') layout=true (scope # Объявление эвента (event __onParamChange) # Объявление переменных со значением по умолчанию и dispatch события '__onParamChange' на изменение значения. # Событие 'evChanged' - внутреннее события core unbound. (var radius:number = 13 (dispatch __onParamChange on='evChanged') ) (var color:number = 0xfff2ad (dispatch __onParamChange on='evChanged') ) ) (style (bind width "radius * 2") (bind height "radius * 2") (align = "center|middle") ) (.graphics (bindcall clear init=true (event "__onParamChange")) (bindcall lineStyle 1 "color" 0.3 init=true watch=false (event "__onParamChange")) (bindcall drawCircle "radius" "radius" "radius" init=true watch=false (event "__onParamChange")) (bindcall endFill init=true (event "__onParamChange")) ) (scope # Объявление переменной со значением по умолчанию (var level:number = 0) ) (tf (name = 'level') (class "textStyle") (bind text "level" init=false) (selectable = false) ) )     Scope можно описывать в разных частях элемента (пример: переменная level). В итоге при исполнении все части объединятся в один scope. Отображение содержимого scope: (trace "$scope") UBTRACE: Scope: Events: __onParamChange Vars: color : 1.67738e+07 level : 0 radius : 13 Примечание: Переменные, переданные в элемент как аргументы определения, НЕ попадают в scope. В примере выше переменной textStyle нет в scope.   При создании экземпляра элемента можно изменять его значения переменных scope: Создание экземляра элемента (element LevelView 'PromoTitleTextStyle' (scope (level = 10) (radius = 40) ) ) Переменные scope при вызове элемента можно синхронизировать с переменными родительского scope Создание экземляра элемента (scope (var parentLevel:number = 15) ) (element LevelView 'PromoTitleTextStyle' (scope (bind level "parentLevel") ) )    

Реклама | Adv