使类变量可用于外部itemRenderer类

时间:2011-05-17 14:55:43

标签: flex actionscript-3 actionscript

我制作了一个自定义的itemRenderer,需要访问我的Project文件(mxml)中的变量。如何在自定义itemRenderer文件中使用public var?

    public function lang_f(trans_short:String):String{
        if(outerDocument.language == "de"){
            ...
        }
    }

问候 马库斯

3 个答案:

答案 0 :(得分:3)

您不应从项目渲染器中访问外部文档数据。它打破了OOP原则,例如低耦合等。您应该使用来自数据提供程序的数据将此数据设置为项呈示器,或者扩展基于列表的组件以使用该数据实例化呈现器。并且不要将MXML组件视为文件。文件结构只是一种表示形式。在应用程序结构方面,您最好将MXML文件视为类或组件。

答案 1 :(得分:2)

为了配合康斯坦纳的回答,如果仍然需要访问该变量,您可以使用outerDocument访问itemRenderer中的变量:

outerDocument.myVariableName

答案 2 :(得分:0)

变量是否在应用程序的主文件中定义?如果是这种情况,您可以使用FlexGlobals.topLevelApplication.YOUR_VARIABLE_NAME进行访问 但我同意康斯坦纳。这违反了OOP原则。但我希望能解决你的问题。