PDA

Просмотр полной версии : как по нажатию кнопки в панели убрать старое содержимое и вставить новое


1002
28.02.2012, 12:35
Подскажите пожалуйста как по нажатию кнопки в панели убрать старое содержимое и вставить новое (у старого содержимого свой as+mxml, у нового содержимого свой as+mxml) ?

Deimos747
28.02.2012, 13:08
Можно поподробнее? Желательно с кодом. И если вы про Flex, то вам в другую тему

1002
28.02.2012, 15:14
да, про Flex. извините.

saprahan
29.02.2012, 15:28
да, про Flex. извините.

на click эвент в mxml вешаете removeElement/addElement

Acrossfy
29.02.2012, 15:54
Ппц.. Ребят, про states тут чтоль вообще никто не в курсе!? Flex'еры блин.

1002, вот вам подробное описание (http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf63611-7ff1.html), с наглядным примером в конце.

GBee
29.02.2012, 16:19
А кто сказал, что стейты круче вьюстека? Тем более
у старого содержимого свой as+mxml, у нового содержимого свой as+mxml

Acrossfy
01.03.2012, 00:14
А что мешает "старое содержимое" и "новое содержимое" представить в виде двух отдельных компонентов находящихся в двух разных стейтах?

GBee
01.03.2012, 02:29
Никто не мешает, вариантов вообще 4, а может и больше. Просто вы так поразились, что стейты не предложили, как будто они панацея. :о)

Acrossfy
01.03.2012, 14:40
GBee, я не спорю, что это не единственный способ, но вариант с удалением/добавлением по клику ужасен.

GBee
01.03.2012, 18:43
ЭЭЭ, а стейты, что по вашему делают?

Acrossfy
01.03.2012, 22:09
Стейты лучше потому, что:
1) Оба компонента остаются в памяти и не выгружаются из нее, что положительно сказывается на производительности при их переключении (привет мобильным девайсам или слабым компам);
2) Это удобнее/каноничнее, не требует вешать лишних слушателей и писать лишний код.

В противном случае, изменение параметра visible куда правильнее, чем удаление/добавление элемента.

GBee
01.03.2012, 22:27
1) При удалении/добавлении компонента в данном случае на него логично сохранить ссылку, чтобы дважды не создавать. То есть полностью на вашей совести сохранность объекта, и это удобно.
2) Не писать "лишний" код это странное удобство.

Какой противный случай? Чем правильнее, есть пруфы?

Стейтами можно и удалять и изменять видимость и т.п. и т.д. Стейты вообще могут делать все, что вы поленитесь написать ручками и не факт, что лучше вас.

Acrossfy
01.03.2012, 22:52
При удалении/добавлении компонента в данном случае на него логично сохранить ссылку
Разве saprahan, предложил 1002 такой вариант? Более того, вряд ли человек, спрашивающий такие вопросы знает, как это делать.

это странное удобство
Странное удобство, это городить огород, когда во фреймворке все реализовано.

и не факт, что лучше вас
Если есть сомнения, насчет лучше, можно и в исходники всегда сходить.

GBee
01.03.2012, 23:09
В исходники до меня уже сходили :о)