Apache flex 掌握应用程序以调用其方法

Apache flex 掌握应用程序以调用其方法,apache-flex,interface,flex4,flex4.5,Apache Flex,Interface,Flex4,Flex4.5,在我的Flex 4.5应用程序中,我有一个标题indowSettings.mxml,由PopUpManager弹出 一旦用户更改了一些设置,我不仅需要将它们保存到SharedObject,还需要将它们应用到主应用程序本身,以便用户可以立即看到更改 例如,我需要调用它的方法hideApp(somevalue) 似乎没有任何静态/单例方法来控制它 那你怎么做呢 我还想知道如何声明,一个MXML文件实现了一个或多个接口 package { public interface Hiddable {

在我的Flex 4.5应用程序中,我有一个标题indowSettings.mxml,由PopUpManager弹出

一旦用户更改了一些设置,我不仅需要将它们保存到SharedObject,还需要将它们应用到主应用程序本身,以便用户可以立即看到更改

例如,我需要调用它的方法hideApp(somevalue)

似乎没有任何静态/单例方法来控制它

那你怎么做呢

我还想知道如何声明,一个MXML文件实现了一个或多个接口

package {
  public interface Hiddable {
    function hideApp(value:Number):void;
  }
}
我这样问是因为除了主应用程序之外,我的项目中还有一个用于“单元测试”特定功能的SettingsTest.mxml应用程序

谢谢大家!!亚历克斯

是的,它有:

FlexGlobals.topLevelApplication
尽管我建议您使用事件来避免紧密耦合

关于接口的问题:使用属性
implements

<s:Component ... implements="IClassA,IClassB" ... />

是的,它有:

FlexGlobals.topLevelApplication
尽管我建议您使用事件来避免紧密耦合

关于接口的问题:使用属性
implements

<s:Component ... implements="IClassA,IClassB" ... />

关于在MXML组件中实现接口,请参阅

如何将更改后的数据从弹出窗口传递回应用程序?我建议您使用Flash事件模型,如下所示:

var myWindow:MyWindow = MyWindow(PopUpManager.createPopUp(this, MyWindow));
myWindow.addEventListener(MyWindowEvent.SUBMIT, myWindowSubmit);

private function myWindow(event:MyWindowEvent):void
{
    // Unsubscribing from events
    var myWindow:MyWindow = MyWindow(event.currentTarget);
    myWindow.removeEventListener(MyWindowEvent.SUBMIT, myWindowSubmit);
    // Changed data is passing with custom event object
    someData = event.someData;
}

您应该为该事件实现自定义事件(
MyWindowEvent
在我的伪代码中),并从
TitleWindow
组件启动它。您可以阅读有关实现自定义事件的更多信息。

有关在MXML组件中实现接口的信息,请参阅

如何将更改后的数据从弹出窗口传递回应用程序?我建议您使用Flash事件模型,如下所示:

var myWindow:MyWindow = MyWindow(PopUpManager.createPopUp(this, MyWindow));
myWindow.addEventListener(MyWindowEvent.SUBMIT, myWindowSubmit);

private function myWindow(event:MyWindowEvent):void
{
    // Unsubscribing from events
    var myWindow:MyWindow = MyWindow(event.currentTarget);
    myWindow.removeEventListener(MyWindowEvent.SUBMIT, myWindowSubmit);
    // Changed data is passing with custom event object
    someData = event.someData;
}
您应该为该事件实现自定义事件(
MyWindowEvent
在我的伪代码中),并从
TitleWindow
组件启动它。您可以阅读有关实现自定义事件的更多信息