Flex中獲取Application對象的方式

Flex應用程序中的根標籤是<s:Application>(Spark application容器),或mx:Application(MX Application容器)。application容器是全部Flex組件的根,就像HTML文檔中的<html>標籤同樣,全部的組件和腳本都將包含在application標籤內。一般全部的全局對象或函數,也都會分別做爲屬性或方法添加至application中。一般代碼中要經過首先獲取application對象才能得到全局對象或方法。下面是兩種在代碼中獲取application對象的方式,假設當前的應用程序名爲MyApplication。html

  1. 經過FlexGlobals類:app

    FlexGlobals類包含了通用於同一Application Domain內的全部應用程序的變量的類,其包含 的公共屬性只有兩個,一個是constructor屬性,兩一個是topLevelApplication屬性,topLevelApplication即指向Application對象,如:函數

    var application:MyApplication = FlexGlobals.topLevelApplication as MyApplication ;
  2. 經過SystemManager的application屬性this

    SystemManager用來管理Flex應用程序窗口。每一個Flex應用只包含一個SystemManager。SystemManager類中的application屬性用來得到application對象。UIComponent對象做爲FlexUI組件的上層類,經過UIComponent的systemManager屬性,就能夠得到全局僅有的SystemManager對象。這樣在繼承自UIComponent的全部UI組件內部均可以很方便的獲取application對象,假如,有繼承自UIComponent類的名爲MyComponent的自定義組件,在其內部能夠經過如下代碼得到application:code

    var sysManager:SystemManager = this.systemManager as SystemManager ;
    
     var application:MyApplication = sysManager.application as MyApplication;

注意,上述兩種獲取application對象的方式,都須要根據具體應用程序的名稱和類型進行合適的類型轉換。htm

相關文章
相關標籤/搜索