2014-05-01 51 views
0

我的應用程序中有三種不同的視圖。每次啓動應用程序時都會加載一個本地xml文件。所有這三個視圖都可以訪問這個xml。加載XML一次,並在flex中的所有視圖中訪問它

我寫了一個函數來加載主視圖(onCreationComplete)內的文件。但是,首先,它不能在其他兩個視圖中訪問;其次,只要主視圖處於鎖定狀態,它就會執行onCreationComplete方法並反覆加載文件。

我需要的是:

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

問候,

回答

0

您可以使用 「數據」 navigator.pushView(SomeView,someData)的參數發送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 - 事件)。你現在可以使用你的XML數據。

相關問題