加载一次XML并在flex中的所有视图中访问它



我的应用程序中有三个不同的视图。无论何时启动应用程序,都要加载一个本地xml文件。这三个视图都可以访问这个xml。

我编写了一个函数来加载主视图中的文件(onCreationComplete(。然而,首先,它在其他两个视图中是不可访问的,其次,每当弹出主视图时,它都会执行onCreationComplete方法并反复加载文件。

我需要的是:

1. load the xml only when the application is launched // once
2. access the file in all views

问候,

您可以使用navigator.pushView(SomeView,someData(的"data"参数将xml发送到视图中;

不过,这需要一些结构。

我建议你

  1. 编写一个小控制器,它将加载您的xml并存储它
  2. 在MainApp.mxml中或在您管理视图更改的任何位置保留此控制器的引用
  3. 在创建视图时将xml属性传递给视图(例如通过navigator.pushView(((
  4. 覆盖视图中的数据设置器。

    var xml:XML ;
    override set data(value:Object):void
    {
     xml = value as XML;
     super.data = value;
    }
    
  5. 等待您的视图可以使用(例如,收听creationComplete-Event(。现在可以使用xml数据了。

相关内容

  • 没有找到相关文章

最新更新