Я создал пользовательский itemRenderer, и мне нужен доступ к переменной в моем файле проекта (mxml). Как сделать мою общедоступную переменную доступной в пользовательском файле itemRenderer?
public function lang_f(trans_short:String):String{ if(outerDocument.language == "de"){ ... } }
Поздравления Markus
Вы не должны получать доступ к данным внешнего документа из средства визуализации элементов. Это нарушает принципы ООП, такие как низкая связь и т. Д. Вам следует либо установить эти данные для средства визуализации элементов с данными от поставщика данных, либо расширить свой компонент на основе списка для создания экземпляров средств визуализации с этими данными. И не думайте о компоненте MXML как о файлах. Файловая структура - это просто форма представления. Вам лучше воспринимать файлы MXML как классы или компоненты - с точки зрения структуры приложения.
Чтобы согласиться с ответом Константинера, если вам все еще необходимо получить доступ к этой переменной, вы можете получить доступ к переменной в вашем itemRenderer, используя outerDocument:
outerDocument
outerDocument.myVariableName
Переменная определена в главном файле вашего приложения?В этом случае вы можете получить доступ, используя FlexGlobals.topLevelApplication.YOUR_VARIABLE_NAME. Однако я согласен с Constantiner.Это нарушение ООП принципов.Но я надеюсь, что это решит вашу проблему.