Welcome, Guest. Please login or register.
Did you miss your activation email?
31 Jul 2010, 11:37:55 UTC
Forum home
+  flexdeveloper.eu Forum
|-+  Flex and ActionScript 3.0
| |-+  ActionScript 3.0 (Moderators: JMWhittaker, Jan K, thewarpedcoder, James)
| | |-+  Anfänger-Syntaxproblem bei Parameterübergabe an Funktion
« previous next »
Pages: [1] Print
Author Topic: Anfänger-Syntaxproblem bei Parameterübergabe an Funktion (Read 634 times)
Bettina
Newbie FD
*
Posts: 9


I'm new in this but i try my very best :-)


« on: 04 Mar 2010, 23:14:09 UTC »

Hallo

kann mir hier jemand einen Tipp geben, wie ich es machen muss damit ich in meinem Code die folgende Zeile richtig schreibe?

click="pictureInfo({photos.currentItem.attribute('url')})"/>
Ich möchte letztlich gerne in einer Bildergalerie (Komponente), dass bei Auslösen des Click Events auf ein Bild meine Funktion pictureInfo() mit den individuellen Daten (z.B. url) zum jeweiligen Bild aufgerufen wird, damit diese dort verknüpft werden können und dann später bereitstehen.

1. Frage:
Ist das so rum überhaupt möglich oder denke ich da ohnehin schon in die verkehrte Richtung und der ganze Ansatz ist falsch?

2. Frage:
Wie müsste ich das richtig schreiben, damit ich den Inhalt aus photos.currentItem.attribute('url') (so wie er auch myImage.source zugewiesen wird) als String an meine Funktion übergeben kann. Mit den {} für's binding gibt es so Syntaxfehler.

Danke für jeden Hinweis - ich denke irgendwie gerade immer im Kreis und bin etwas verwirrt, ob das überhaupt so geht!?


Hier auch noch mal der vollständige Code:
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%"
height="100%">


    <mx:Script>
        <![CDATA[
         
           
            privte function pictureInfo(url:String):void {
           
            // set up the picture details
            // dispatch new Event.... (details)...
           
            }
           
         
        ]]>
    </mx:Script>
   
               
                <mx:HBox id="x23" horizontalAlign="center" horizontalGap="2"
                  backgroundColor="0x333333"
                width="100%" height="90%"
                paddingTop="2"
                paddingBottom="2">

                  <mx:Repeater id="photos" dataProvider="{dataFilter(_dataFeed)}">         
  <mx:Box>

                    <mx:Image
                    id="myImage"
                    scaleY=".50"
                    scaleX=".50"
                    source="{photos.currentItem.attribute('url')}"
                    horizontalAlign="left"
    initialize="trace('url: ')"
    click="pictureInfo({photos.currentItem.attribute('url')})"/>
                   
        </mx:Box>       
                    </mx:Repeater>
         
                </mx:HBox>   

</mx:Canvas>
Logged
flexy
flexdeveloper.eu
Guru/Addict FD
*****
Posts: 3,155


Recovering Coffee Addict & Adobe Expert


WWW
« Reply #1 on: 04 Mar 2010, 23:36:23 UTC »

Hallo Bettina,

Können Sie ein wenig mehr Code, damit ich sehen kann, was Sie erreichen wollen? Danke!
 Smiley
Logged

Bettina
Newbie FD
*
Posts: 9


I'm new in this but i try my very best :-)


« Reply #2 on: 05 Mar 2010, 00:13:44 UTC »

Hallo Bettina,

Können Sie ein wenig mehr Code, damit ich sehen kann, was Sie erreichen wollen? Danke!
 Smiley


Hallo, ich habe kaum mehr Code!? Das ist meine (Gallery-)Komponente und die benutze ich in einer Application. darüber hinnaus gibt es noch eine HTTP Komponente, die mein XML File ausließt und als Dataprovider fungiert. Aber das war's dann auch schon mit Code!?

Was ich machen möchte ist, dass ich die Gallery-Komponente an verschiedenen Stellen in meiner Mail Application verwenden kann und dabei jedes Mal bestimmte Bilder aus meiner XML auslese. Aber das funktioniert auch alles schon wunderbar.

Mein Problem ist nun, dass ich gerne bereits beim Erstellen der jeweiligen Gallery (also im <mx:Image..> jedem Bild eine Art Verknüpfung zu seinen individuellen Daten (in diesem Fall erstmal nur die URL) geben möchte. Ich möchte später, dass man auf das Bild klicken kann und ich dann einen eigenen Event dispatchen kann, der die bildspezifischen Informationen (Url, und später auch noch mehr) enthält. Diesen Event könnte ich dann nämlich in meiner Main-Application abfragen und mit den erhaltenen Informationen andere Komponenten in der Application verändern (z.B. eine Übersicht mit allen Details zum Bild anzeigen lassen, etc...).

Ich hoffe ich konnte das einigermaßen verständlich erklären....!? Ich bin halt auch gerade etwas verwirrt, ob die Vorgehensweise so überhaupt richtig/sinnvoll ist!? Aber der Ansatz eine Komponente mit der Application über dispatch Event kommunizieren zu lassen, um sie unabhängiger verwenden zu können scheint mir eigentlich ganz richtig zu sein!? Nur wie dann die Infos, die im <mx:image...> anfallen während der repeater läuft weiterreuchen??? Hiellfe...  Danke!
Logged
Bettina
Newbie FD
*
Posts: 9


I'm new in this but i try my very best :-)


« Reply #3 on: 09 Mar 2010, 11:35:31 UTC »

Für alle anderen die genauso blöd sind wie ich und es noch nicht wissen, mein o.g. Syntaxproblem lässt sich ganz einfach dadurch lösen, dass der gesamte Aufruf einfach durch die {} eingeschlossen wird.

Statt: click="pictureInfo({photos.currentItem.attribute('url')})"/>
geht es einfach so: click="{pictureInfo(photos.currentItem.attribute('url'))}"/>

Problem gelöst :-)
Logged
flexy
flexdeveloper.eu
Guru/Addict FD
*****
Posts: 3,155


Recovering Coffee Addict & Adobe Expert


WWW
« Reply #4 on: 10 Mar 2010, 10:14:44 UTC »

Vielen Dank für Ihre Lösung!
Logged

Pages: [1] Print
« previous next »
Share this on: Twitter Twitter Del.icio.us del.icio.us Digg Digg
Jump to:

©2006-2010 Flexdeveloper.eu/Jodie O'Rourke. All rights reserved.
Adobe®, Adobe® Flash™, Adobe® AIR™ and Adobe® Flex™ are registered trademarks of Adobe Systems Incorporated in the United States and other countries. All rights reserved.

Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC