Как загрузить внешний Flex-файл MXML в родительский Flex-файл MXML - PullRequest
1 голос
/ 10 марта 2012

[Это приведет вас к изображению моего проекта, чтобы вы могли увидеть код, потому что я не был участником достаточно долго, чтобы опубликовать его.:] 1

Это проект, над которым я работаю для простого демонстрационного учебного приложения во Flex.Я использую mxml-страницы.Слева вы увидите, что у меня будет мое основное приложение, а затем другие mxml-файлы (в пакете примеров) в качестве примеров, которые будут загружены в основное приложение mxml.Как я могу динамически извлечь значение из объекта в списке, чтобы загрузить дочерний файл mxml в контейнер, который находится ниже в приложении?

1 Ответ

2 голосов
/ 10 марта 2012

Мне неясно, что именно вы пытаетесь сделать;но на основе фрагмента кода я вижу две возможности.

Во-первых, если все ваши отдельные примеры скомпилированы в отдельные SWF-файлы;затем вы можете загрузить их, используя SWFLoader .Основываясь на XML в вашем фрагменте кода, кажется, что он ссылается на отдельные SWF.

Если ваши примеры кода просто скомпилированы в основное приложение, то вы можете использовать ViewStack и переключить индекс * 1007.* ViewStack в зависимости от образца, который вы хотите показать.Концептуально что-то вроде этого:

<mx:ViewStack id="sampleViewStack">
  <myComps:Sample1 />
  <myComps:Sample2 />
  <myComps:Sample3 />
</mx:ViewStack>

Чтобы показать пример один, просто сделайте это в ActionScript:

sampleViewStack.selectedIndex = 0;

Чтобы показать пример 2, сделайте следующее:

sampleViewStack.selectedIndex = 2;

И так далее ...

Однако, если вы захотите скомпилировать каждый семпл на лету и отобразить его в своем основном приложении, вам будет гораздо сложнее.


Если я правильно понимаю, вы сказали, что вам трудно получить доступ к свойствам объекта, которые есть в списках dataProvider.Исходя из вашего скриншота кода, похоже, что ваш dataProvider состоит из общих объектов.Доступ к свойствам метки или значения этих объектов;Вы будете;должен сделать это:

list.selectedItem['label']
...