![]() |
MVС в Flex
Здравствуйте подскажите пожалуйста как можно изменять начинку кастом компонента из модели.
Я написал небольшое приложение все в Application файле, решил перевести под MVC и столкнулся с проблемой изменения данных(передачи.) Более подробно: 1)Есть контроллер: в нем я гружу вид и передаю в него какие то данные. Код:
<components:component id="comp" data="{data}"/>в нем я что то отображаю и по нажатию на кнопку вызываю метод Search у модели для проверки введенных пользователем данных. Код AS1/AS2:
Код AS1/AS2:
Я пытался задавать пространство имен для места где лежит компонет, не помогло, не помогла передача идентификатора в метод Search()... ну и вообще застрял тут. Подскажите пожалуйста, как можно из модели обратиться к виду напрямую и что то поменять. |
Лучше такое в моделях не делать. Модель ничего не знает о виде, она хранит состояние и, возможно, делает всякие запросы (если у вас нет концепции сервис-слоя).
Скрывать/показывать какие-то контролы — это забота чисто предствления. Пусть модель оповещает о своём изменении, а вид реагирует на это. |
Полностью согласен и уже переписал код:)
Но вопрос этот все равно остался, можно как нибудь сделать такое обращение? |
Разрешите вклиниться в тему и задать вопрос по MVC? (на случай, если разрешаете, привожу
С превеликим удовольствием почитал http://www.flasher.ru/forum/showthread.php?t=138349 со всеми потрохами. Все здорово, но некоторые вопросы остались без ответа. Одна замечательная мысль, которая мне запомнилась "MVC у каждого свой")))) Тем не менее, я сторонник того, что если пользуешься инструментом, научись пользоваться правильно, и только потом применяй нестандартные подходы (мож че лучше придумаешь). Ладно, вопрос: зачем нужна V и M? Почему обработку всех событий с обеих сторон и вызов методов не отдать целиком контроллеру. Тогда и модель не будет знать ничего о виде, и вид о модели. И в случае, если мы что-то захотим чуть-чуть поменять, или перелопатить существенно, то достаточно будет изменить лишь крошку контроллер (насколько я понимаю, он должен быть "тонким"). В случае же, если у нас Представление подписывается на события Модели, а мы по каким-то причином убираем диспатч соответствующего события, то нам придется лезть и в код Представления. |
Цитата:
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 07:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.