我制作了一个自定义的itemRenderer,需要访问我的Project文件(mxml)中的变量。如何在自定义itemRenderer文件中使用public var?
public function lang_f(trans_short:String):String{
if(outerDocument.language == "de"){
...
}
}
问候 马库斯
答案 0 :(得分:3)
您不应从项目渲染器中访问外部文档数据。它打破了OOP原则,例如低耦合等。您应该使用来自数据提供程序的数据将此数据设置为项呈示器,或者扩展基于列表的组件以使用该数据实例化呈现器。并且不要将MXML组件视为文件。文件结构只是一种表示形式。在应用程序结构方面,您最好将MXML文件视为类或组件。
答案 1 :(得分:2)
为了配合康斯坦纳的回答,如果仍然需要访问该变量,您可以使用outerDocument
访问itemRenderer中的变量:
outerDocument.myVariableName
答案 2 :(得分:0)
变量是否在应用程序的主文件中定义?如果是这种情况,您可以使用FlexGlobals.topLevelApplication.YOUR_VARIABLE_NAME进行访问 但我同意康斯坦纳。这违反了OOP原则。但我希望能解决你的问题。