Есть ли способ объявить дочерний компонент в mxml, который является частным/защищенным или даже статическим?статический/частный дочерний компонент в mxml?
Конечно, мы можем сделать это внутри тега скрипта, но есть ли другой способ?
Есть ли способ объявить дочерний компонент в mxml, который является частным/защищенным или даже статическим?статический/частный дочерний компонент в mxml?
Конечно, мы можем сделать это внутри тега скрипта, но есть ли другой способ?
Ashier предлагает использовать «Исключить» тег метаданных, но Маскит предлагает свои ограничения и предлагает альтернативные решения:
http://blog.ashier.com/2008/03/25/hiding-properties-in-flex-components/
http://smaskit.blogspot.com/2008/07/making-mxml-subcomponent-private.html
В строгом смысле этих слов, нет, вы не можете сделать что использование mxml. Второе сообщение, опубликованное Луисом, содержит некоторые обходные пути для частного/защищенного поведения.
Я нашел решение статического вопроса. Мне нужна быстрая записная книжка, доступ к которой можно было бы найти где угодно в мобильном приложении, без редактирования одного экземпляра, оставленного открытым на другом экране.
Я создал элемент управления mxml для заметок, а затем разместил его внутри раздела объявлений в приложении mxml верхнего уровня. В каждом представлении, что я хотел памятка появляться, я добавил:
import mx.core.FlexGlobals;
import components.QuickMemo;
private var memo:QuickMemo;
В создании представления полной:
memo = FlexGlobals.topLevelApplication.memo;
В коде viewActivation, я добавил:
memo.visible = false;
addElement(memo);
В коде зрения деактивации я включил:
removeElement(memo);
Чистый эффект заключается в том, что в любой момент существует только один экземпляр заметки, и один экземпляр открывается в любом состоянии, в котором он существовал в последнем представлении, в котором он появился.
Обходной путь, предложенный во 2-й ссылке, довольно хорош (+1 для этого). Но все же ни один из них не статичный дочерний компонент :( –
Принимает этот ответ, так как это единственное, что можно сделать до сих пор. Hope Flex 5 будет поддерживать mxml static/private :( –