| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| n00b Registriert seit: Jun 2005
Beiträge: 271
| Gelöst: Parameter an Komponente übergeben
hi, ich habe ein komponente die ein paar button und label enthält. ich möchte jetzt für ein label den text mitgeben. component: Code: [...]
private var destination:String;
private function init():void
{
destination = new String;
}
public function get dest():String
{
return this.destLabel.text;
}
public function set dest(str:String):void
{
this.destination=str;
}
[...] Code: <controls:Fileupload id="TopNews" left="0" y="350" width="500" height="120" dest="hello"/> Fehler werden nicht angezeigt aber wenn ich das ganze kompiliere, wird nur eine weisse seite angezeigt. wenn cih in dem setter 'this.destination=str;' aus kommentiere, wird alles angezeigt aber der parameter natürlich nciht übergeben. kann mir bitte jemand verraten was ich falsch mache? gruß, phase
__________________ -- Don't eat yellow snow Geändert von phase (14-01-2009 um 22:32 Uhr) |
| | |
| | #2 (permalink) |
| n00b Registriert seit: Jun 2005
Beiträge: 271
|
ok, ich habs jetzt doch hinbekommen. Code: [Bindable]
private var _destination:String = "Default";
public function get dest():String {
return _destination;
}
public function set dest(value:String):void {
destination = value;
}
__________________ -- Don't eat yellow snow |
| | |
| | #3 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.147
|
Als gut gemeinter Nachtrag - und ich hatte die Beispiele nun schon getippt ![]() Die sparsame Version. Ähnlich deiner nur mit wirtschaftlicherem DataBinding. Code: <?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private var _title:String;
[Bindable("titleChanged")]
public function get title():String
{
return _title;
}
public function set title(value:String):void
{
if (_title == value) return;
_title = value;
dispatchEvent(new Event("titleChanged"));
}
]]>
</mx:Script>
<mx:Label text="{title}" />
</mx:HBox> Code: <?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private var _title:String;
private var _titleChanged:Boolean = false;
[Bindable("titleChanged")]
public function get title():String
{
return _title;
}
public function set title(value:String):void
{
if (_title == value) return;
_title = value;
_titleChanged = true;
invalidateProperties();
dispatchEvent(new Event("titleChanged"));
}
override protected function commitProperties():void
{
super.commitProperties();
if (_titleChanged)
{
_titleChanged = false;
titleLabel.text = _title
}
}
]]>
</mx:Script>
<mx:Label id="titleLabel" />
</mx:HBox>
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #4 (permalink) |
| Nagelneuer User Registriert seit: Dec 2005
Beiträge: 924
|
Binding ist dein Freund. Deklariere einfach eine oeffnetliche Variable fuer die Eigenschaft die du deiner Komponente zuweisen willst und bind dann intern an diese Eigebschaft. Code: <?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:String id="title"/>
<mx:Label text="{title}" />
</mx:HBox> hazy
__________________ The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D Geändert von hazy fantazy (15-01-2009 um 08:13 Uhr) |
| | |
| | #5 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.147
|
Aber bei vielen Objekten mit vielen Properties würde ich diese straight forward Strategie nicht fahren.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #6 (permalink) | |
| n00b Registriert seit: Jun 2005
Beiträge: 271
| Zitat:
deine variante scheint mir irgendwie komplizierter aber wahrscheinlich sieht man den vorteil erst bei komplexeren dingen, diesmal reicht mir meine variante. ich hab den vorteil von [Bindable("titleChanged")] auch noch nicht feststellen können und was meinst du mit wirtschaftlicher? gruß, phase
__________________ -- Don't eat yellow snow | |
| | |
| | #7 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.147
|
Mit wirtschaftlicher meine ich folgendes. Verwendest du ActionScript:
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #9 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.147
|
Meine Form? Ja, schaden tut es nicht.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #10 (permalink) |
| Nagelneuer User Registriert seit: Dec 2005
Beiträge: 924
|
Klar schadet das und zwar der Lesbarkeit. Premature optimizing nennen wir das. Optimieren sollte man nur, wenn es auch wirklich nötig ist.
__________________ The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |