Как получить доступ к данным родительского контейнера из настраиваемого представления во Flex?

У меня есть в Flex контейнер TabNavigator, и на всех вкладках у меня одно и то же представление (набор кнопок и сетка).

        <mx:TabNavigator id="myTabThing">
            <mx:VBox label="First tab"
                     width="100%"
                     height="100%">
                <view:myView/>
            </mx:VBox>
            <mx:VBox label="Second tab"
                     width="100%"
                     height="100%">
                <view:myView/>
            </mx:VBox>
        </mx:TabNavigator>

Как я могу получить в myView.mxml данные о навигаторе вкладок? Мне бы очень хотелось иметь возможность делать что-то вроде:

    <mx:Text text="{myTabThing.selectedChild}"/>

Или на самом деле что-то более сложное, основанное на выбранном дочернем элементе (измените заполнение списка внутри представления myView).

Новичок в Total Flex, извините, если мой вопрос тупой.


person tisek    schedule 09.10.2012    source источник


Ответы (1)


Добавление this.parentDocument позволит узнать текущую вкладку. В этом случае попробуйте

<mx:Text text="{this.parentDocument.myTabThing.selectedChild}"/>

Если вы хотите изменить список в MyView на основе родительского элемента, проверьте идентификатор «selectedChild». Дайте VBox'ам идентификатор, а затем проверьте с помощью идентификатора, подобного этому

<mx:VBox id ="firstTab" label="First tab"
             width="100%"
             height="100%">
        <local:myView/>

if(this.parentDocument.myTabThing.selectedChild.id == "firstTab"){...}
person kbgn    schedule 09.10.2012
comment
Спасибо! вроде как раз то, что мне нужно! Я подтвердю, что ответ правильный, когда я действительно смогу его попробовать! но спасибо большое! - person tisek; 10.10.2012