微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决从一个.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这样的依赖注入框架/容器来实现。或者,您可以通过从顶级应用程序委派到包含处理模块的代码段的类来手动执行此操作。加载模块时,在此传递该值。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。