Дети Flex Viewstack, если вы их не видите, существуют ли они? - PullRequest
4 голосов
/ 06 февраля 2009

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

Ответы [ 3 ]

16 голосов
/ 06 февраля 2009

Да, все верно - дочерние элементы ViewStack создаются только тогда, когда это необходимо по умолчанию («отложенное создание» - это фраза, которую вы услышите в этом контексте). Если вместо этого вы хотите поручить Flex создать все дочерние элементы контейнера ViewStack, рассмотрите возможность использования свойства creationPolicy , общего для всех mx.core.Containers:

СозданиеПолиция ContainerCreationPolicy.ALL означает, что навигатор сразу контейнеры создать более глубоких потомков для каждого ребенок, а не ждать, пока ребенок выбран.

<mx:ViewStack id="myStack" creationPolicy="all" />

Это немного медленнее при запуске, потому что вы создаете кучу дочерних компонентов, которые вам, возможно, еще не нужны, но если вы помните об этом компромиссе, это может пригодиться когда-нибудь.

2 голосов
/ 06 февраля 2009

Да, у меня была такая же проблема, когда я работал над приложением со структурой PureMVC. Мне не удалось создать посредники для подкомпонентов ViewStack, потому что они лениво создавались средой Flex.

Вот где я в конце концов нашел свое решение:

http://forums.puremvc.org/index.php?topic=280.0

0 голосов
/ 06 февраля 2009

Нашел соответствующую документацию здесь . Похоже, это было бы чем-то, что вы бы отметили в документации на контейнер.

...