1 Reply Latest reply on Oct 11, 2010 6:18 AM by Lior Bruder

    Accessing containers in sibling MXML components

    Chris Callaghan Level 2

      New to Flex, but trying to separate my app into managable MXML components, but I'm struggling with accessing

      components in different MXML files.


      Simplified view below...




      • (default package)
        • Main.mxml
      • components
        • AppAccordion
        • Component 1
        • Component 2
        • Component 3



      Main.mxml has the custom component called "AppAccordion" in it with the id="myAccordion".


      AppAccordion has 3x canvases which implement each of the custom Components 1, 2 or 3 mxml files. So each "Component N" mxml file appears as a different item of the accordion.


      My problem is that I want a button in "Component 1" to change the selectedIndex of "myAccordion", but I have no idea how to do this. I can trace (parent.parent.parent) and this gives me the name of the accordion, but when I try (parent.parent.parent.selectedIndex) it says its an undefined property?!?!


      Any help would be much appreciated


      Thank you!

        • 1. Re: Accessing containers in sibling MXML components
          Lior Bruder Level 1

          The right way (As for architecture point of view) will be to send event from the



          var myEvent:MyEvent = new MyEvent(newIndex);



          And catch it on the main application:


          in the main app: _component1.addEventListener(MyEvent.EVENT_NAME, MyFunction).


          And in the main app add the callback:


          private function MyFunction(param:int):void {

             // here u get the new index and change the accordion



          * for creating custom events you can check "Flex in a week", day 3