2013-04-06 61 views
0

Flex移動項目 我有一個帶有http服務的選項卡式應用程序。 我想加載數據,一旦它加載傳遞給第一個選項卡,所以第一個選項卡可以顯示一個數據的http服務的列表 我想使用該選項卡的firstViewData屬性(作爲可能對未來我將發送不同的數據到每個標籤)Flex移動 - 選項卡式應用程序數據http服務

我曾嘗試以下,但我得到的觀點沒有數據:-( 在主應用

<?xml version="1.0" encoding="utf-8"?> 
<s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
            xmlns:s="library://ns.adobe.com/flex/spark" 
            xmlns:wsdatos="services.wsdatos.*" 
            creationComplete="tabbedviewnavigatorapplication1_creationCompleteHandler(event)" 
            applicationDPI="160"> 
<fx:Script> 
    <![CDATA[ 
     import mx.collections.ArrayCollection; 
     import mx.events.FlexEvent; 
     import mx.rpc.events.ResultEvent; 

     public var WS:ArrayCollection; 


     protected function operation1():void 
     { 
      Operation1Result.token = wSDatos.Operation1(); 
     } 

     protected function tabbedviewnavigatorapplication1_creationCompleteHandler(event:FlexEvent):void 
     { 
      operation1(); 
     } 

     protected function wSDatos_resultHandler(event:ResultEvent):void 
     { 
      WS = event.result as ArrayCollection; 
     } 

    ]]> 
</fx:Script> 

<s:ViewNavigator label="Home" width="100%" height="100%" firstView="views.HomeView" firstViewData="{WS}"/> 
<s:ViewNavigator label="Publicidad" width="100%" height="100%" firstView="views.PublicidadView"/> 
<s:ViewNavigator label="Eventos" width="100%" height="100%" firstView="views.EventosView"/> 
<fx:Declarations> 
    <s:CallResponder id="Operation1Result"/> 
    <wsdatos:WSDatos id="wSDatos" result="wSDatos_resultHandler(event)"/> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 
</s:TabbedViewNavigatorApplication> 

在主頁視圖

<?xml version="1.0" encoding="utf-8"?> 
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" title="Home"> 
    <fx:Declarations> 
      <!-- Place non-visual elements (e.g., services, value objects) here --> 
     </fx:Declarations> 
     <s:List width="100%" height="100%" dataProvider="{data}" labelField="Nombre"/> 
    </s:View> 

我只是新的Flex,所以我可能會缺少基本概念... 如何傳遞數據的任何幫助?下面的示例在沒有選項卡的應用程序上工作得很好,我只是使用navigator.pushView(views.HomeView event.result as ArrayCollection);關於函數wSDatos_resultHandler(不需要使用var WS) 所以我試圖做一些類似的選項卡式應用 謝謝!

回答

0

你需要做的一件事就是將變量WS標記爲[Bindable]。沒有這個,數據改變時就不會發送通知。

發生什麼事情是創建視圖並使用來自WS(最初未指定)的數據來顯示;那麼HTTP請求會填充WS返回值,但由於它未標記爲Bindable,因此不會通知視圖進行更新。

+0

很多感謝您的幫助! – 2013-04-17 10:07:10

相關問題