![]() |
передавать массив между двумя mxml файлами
С наступающим!
Есть 2 mxml файла. Пусть файлы A и B. Первый (A) содержит HBox в котором делается Код AS1/AS2:
В приложении HBox из А это часть главного окна, из которого по конопке вызывается модальное окно B, которое содержит checkbox-ы. Сразу после загрузки приложения при первом открытии окна B все checkbox-ы выбраны. Пользователь какие-то галочки оставил, какие-то снял. Нажал ОК. Нужно запомнить состояние checkbox-ов, чтоб при повторном вызове окна B (в этой же сессии работы с гл. приложением) показывать галочки только на сохраненных checkbox-ах. Для этого я хочу создать массив в A. Разделяемый для A и B. В который бы сохранялись (true/false) значения из selected checkbox-ов окна B. И чтоб из B я мог менять значения в массиве в A. Вопрос: как это сделать? P.S: Читал про data binding, методы get, set, посылаемые сообщения от родителя к потомку и наоборот и не знаю что из этого, а главное как применить. Передавать в event массив каждый раз?.. P.S2: если кто знает, приведите пожалуйста пример кода |
В файле B пишешь:
Код AS3:
|
Astraport чему вы людей учите?
В классе "B" геттер/сеттер который будет принимать массив с параметрами для чекбоксов и отдавать изменившийся массив. При вызове "B" передавайте ему массив с параметрами. По-событию Close получайте из "B" изменившийся массив. |
Здравствуйте! С новым годом! Спасибо за ответы. Я решил воспользоваться советом alatar, пишу set и get методы. Но т.к. я новичок во флексе, есть 3 вопроса:
1. как обращаться к значениям массива из selected чекбокса ? 2. правильно ли я везде расставил модификаторы [Bindable] ? 3. у меня нет события Close у меня есть кнопки Save и Clear после нажатия окно закрывается и сохраняет/очищает галочки в чекбоксе, как в таком случае получать из B изменившийся массив, генерить event в функциях onSave() или onClear() ? А как его ловить в А тогда ? Вот что я написал пока: В файле A Код AS3:
Код AS3:
|
Цитата:
Код AS3:
Цитата:
Цитата:
Добавлено через 4 минуты P.S. Вот это вот вы зачем сделали? Код AS3:
Код AS3:
PPS. И вот это замените: Код AS3:
Код AS3:
|
Учел все Ваши рекомендации и замечания, alatar. Теперь чекбокс при первом вызове окна отображается правильно. Но onClear пока ничего не очищает, видимо, я не смог правильно написать обработку пользовательского события. Кажется я не обновляю массив в A, хотя посылаю событие из B.
Вот мой код класса для пользователского события Код AS3:
Код AS3:
Код AS3:
|
Можете просто передать null. Зачем восстанавливать значения по-умолчанию?
|
Да, в onClear можно передавать пустой массив. А как это написать? Я торможу что-то.
А в функции onSave мне нужно передавать массив, содержащий выбранные пользователем значения чекбокса. Поэтому я и создал пользовательское событие. Код AS3:
|
Цитата:
Код AS3:
Цитата:
|
Да, я сразу же изменил геттер как только Вы мне это посоветовали.
Большое спасибо, Вам за помощь, alatar. Я изменил onClear(), стал передавать null. Все работает! (и Clear и Save). P.S: Напоследок, вы не подскажите, нужна ли запись Код AS3:
|
| Часовой пояс GMT +4, время: 21:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.