2011-06-03 1 views
0

J'ai un principal mxml et 2 classes AS.Dans le mxml principal, j'ai un curseur.Je veux obtenir les valeurs de curseur dans les classes AS que je déplace le curseur.flex dynamiquement changer les valeurs entre les fonctions

main.mxml

import First; 
import Second; 
private var my:First; 
privaate var scd:Second; 
public var sd:Date; 

public function init():void { 
    my = new First(); 
    Canvas.addChild(my.getUIComponent()); 
} 

public function dateChange():Date { 
    startDate.selectedDate = new Date(slider.values[0]); 
    endDate.selectedDate = new Date(slider.values[1]); 
    sd = new Date(slider.values[0]); 
    scd.calsldr(sd); 
    return sd;     
} 

<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="top"> 
<mx:Canvas id="Canvas" backgroundColor="#ffffff" height="600" width="100%" 
      horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
</mx:Canvas> 
</mx:HBox> 
<flexlib:HSlider id="slider" width="100%" height="50" thumbCount="2"      lockRegionsWhileDragging="true" allowTrackClick="true" maintainProjectionCenter="true" 
       change="dateChange();" liveDragging="true" 
       thumbSkin="mx.skins.spark.SliderThumbSkin" 
       trackSkin="mx.skins.spark.SliderTrackSkin" 
       trackHighlightSkin="mx.skins.spark.SliderTrackHighlightSkin" /> 
<mx:HBox x="300" y="300" height="50"> 
<mx:Label text="Start Date :"/>  <mx:DateField id="startDate"/> 
<mx:Label text="End Date"/>  <mx:DateField id="endDate"/> 
</mx:HBox> 

Mon premier AS qui est first.AS de appels

addChild(new Second(str) as Sprite); 

str est une valeur de chaîne

je veux utiliser les valeurs de curseur dans Second.AS J'ai essayé d'utiliser ceci:

public function calsldr(dat:Date):void { 
    trace(dat); 
} 

private function visualization():void{ } 

Je pourrais obtenir les valeurs de trace (dat) .... Je veux dire la date que le curseur change. Comment utiliser ces valeurs changeantes dans la visualisation de fonction()

+0

Heu ... pourquoi pas vous appeler la visualisation (str: date) de calsldr? Je manque quelque chose ici. – ethrbunny

+1

Que diriez-vous de nous dire ce que vous essayez d'accomplir en faisant cela parce que je vois beaucoup de mauvaises pratiques et j'ai l'impression qu'il y a une façon très simple de faire ce que vous essayez de faire. –

+0

quelle est la manière simple .... Je veux échanger les valeurs entre les fonctions de manière dynamique. – user726629

Répondre

0

@J_A_X La deuxième AS est:

public function Second(str:String){ 
    name = "Second"; } 
public function calsldr(dat:Date){ 
    trace(dat+"fu in maaka"); // As I change the slider the value is changed here } 
protected override function init():void 
    { 
     var ldr:URLLoader = new URLLoader(new URLRequest(url)); 
     _bar.loadURL(ldr, function():void { 
     var obj:Array = JSON.decode(ldr.data as String) as Array; 
     //Sorted the values based on 'str' 
    var data:Data = buildData(newarr); 
     visualize(data); 
     _bar = null; }); 
    } 
public function visualize(data:Data):void{ 
     // I want to get the dat values here when ever the slider moves 
} 
Questions connexes