如何在默认包中导入开放组件?

时间:2015-11-26 12:11:58

标签: actionscript-3 flex flash-builder flex4.5 mxml

打开组件(欢迎页面)中有一个按钮,它在开头是不可见的。当用户传递给另一个组件时,该按钮应该是可见的。但是我无法访问property

在(默认包)导入开放组件的方法是什么?

这是按钮:

<s:SWFLoader id="btnRepr" x="1790" y="1008.45" source="@Embed('Components/Starter/Assets/Buttons/ButtonReport.swf')" click="ShowReportPage" visible="false"/>

这是我改为可见的部分:

btnRepr.visible = true;//Access of undefined property 'btnRepr'

1 个答案:

答案 0 :(得分:1)

假设您的SWFComponent中有SWFLoader

<s:SWFLoader id="btnRepr" source="@Embed('ButtonReport.swf')"  visible="false"/>

你有另一个名为BTNComponent的组件,你有一个简单的按钮,它会显示在SWFComponent的{​​{1}}实例中加载的SWF,所以你可以这样做:

swf_component

<s:Button click="button_clickHandler(event)"/>

当然,这只是一个非常简单且有限的例子,如果你能如何做你想要的,你应该根据你的具体需要改进它......

修改:

假设我的两个组件都在protected function button_clickHandler(event:MouseEvent):void { mx.core.FlexGlobals.topLevelApplication.swf_component.btnRepr.visible = true; } 包中,然后创建我的实例:

MyComponents

然后在应用程序的创建完成事件处理程序中,例如,我添加了:

import MyComponents.*;

public var swf_component:SWFComponent;              
public var btn_component:BTNComponent;

然后当点击swf_component = new SWFComponent(); addElement(swf_component); btn_component = new BTNComponent(); addElement(btn_component); 内的按钮时,swf_component`内的SWF设置为可见。

希望可以提供帮助。