从一个.MXML访问另一个.MXML中的公共可绑定变量

|| 作为主应用程序,我设置了“ main.mxml” 其中包含以下声明:
[Bindable]
[Embed(source=\"../images/common/user.png\")] 
public var userIcon : Class;
我有另一个模块,希望在其上以按钮图标的形式对其进行访问。 我尝试了以下定义,但是它不起作用:
<s:Group width=\"100%\" height=\"29\">
    <s:layout>
        <s:VerticalLayout horizontalAlign=\"center\"/>
    </s:layout>
    <s:Button id=\"buttonLoad\" width=\"80%\" label=\"Loading\" icon=\"{ main.userIcon }\"/>
</s:Group>
如何从其他模块访问main.mxml中的声明?     
已邀请:
        MXML类的名称不是其实例的标识符(因为它可以有很多实例)。您应该将MXML文件视为不是文件而是类。它们与普通的ActionScript类完全相同。与其他OOP语言中的规则相同。因此,如果您有
main.mxml
main
是该类的类名,并且其包由相对于源文件夹的MXML文件路径确定(如ActionScript类中一样)。这就是为什么您应该使用大写字母(
Main.mxml
,而不是
main.mxml
)命名MXML类的原因。 如果您的
main.mxml
是顶级应用程序,则可以将其称为
FlexGlobals.topLevelApplication
。但这不是做事情的正确方法。 最好的方法是将此属性注入目标类。您可以使用像Spring ActionScript或RobotLegs或Parsley这样的依赖注入框架/容器来实现。或者,您可以通过从顶级应用程序委派到包含处理模块的代码段的类来手动执行此操作。加载模块时,在此传递该值。     

要回复问题请先登录注册