PDA

Просмотр полной версии : Сравнение xmlns:components="....." vs addChild()


Deidara
02.08.2009, 16:31
Добрый вечер. Такой вопрос:
Есть (на сколько я знаю) два способа добавить mxml компонент к главному mxml.

1) В основном компоненте главного mxml (Application) добавить запись xmlns:components=".....", указав путь к компоненту. А потом использовать его <mx:componnents/>
2) Создать экземпляр mxml компонента в главном mxml (var %имя экземпляра:имя класса или mxml файла%), а затем добавить его на сцену (addChild(%имя экземпляра%))

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

Спасибо.

wvxvw
02.08.2009, 16:58
По-поводу первого - вы чего-то напутали. ХМЛ элемент xmlns - это namespace, в вашем случае, это неймспейс к которому относится класс вашего компонента, он может быть описан как в AS так и в MXML файле.
addChild() - скорее всего метод DisplayObjectContainer, который добавляет DisplayObject в дисплей лист.
<components:MyComponent/> - создает публичную перемеменную типа [components.uri]::MyComponent которая не обязана быть визуальным объектом, и вовсе не обязательно, что вы сможете к ней применить addChild().
Например:
<mx:Application xmlns:mx="..." xmlns:fl="flash.geom.*">
<fl:Matrix />
</mx:Application>
Создаст объект типа flash.geom::Matrix.