![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2011
Сообщений: 22
|
Здравствуйте подскажите пожалуйста как можно изменять начинку кастом компонента из модели.
Я написал небольшое приложение все в Application файле, решил перевести под MVC и столкнулся с проблемой изменения данных(передачи.) Более подробно: 1)Есть контроллер: в нем я гружу вид и передаю в него какие то данные. 2)Есть Вид - кастом компонент: в нем я что то отображаю и по нажатию на кнопку вызываю метод Search у модели для проверки введенных пользователем данных. <s:Label id="label_1"/> <s:ComboBox id="kombo_1" dataProvider="{data}" keyDown="keyDownHandler(event, data)" /> public var model:GoodModel = new GoodModel(); protected function keyDownHandler(event:KeyboardEvent, data:ArrayCollection):void { model.search(data,и еще параметры); } public function search(data:ArrayCollection,.....); { if(true) kombo_1.visible = false; else kombo_1.visible = true; } Я пытался задавать пространство имен для места где лежит компонет, не помогло, не помогла передача идентификатора в метод Search()... ну и вообще застрял тут. Подскажите пожалуйста, как можно из модели обратиться к виду напрямую и что то поменять. |
|
|||||
|
Лучше такое в моделях не делать. Модель ничего не знает о виде, она хранит состояние и, возможно, делает всякие запросы (если у вас нет концепции сервис-слоя).
Скрывать/показывать какие-то контролы — это забота чисто предствления. Пусть модель оповещает о своём изменении, а вид реагирует на это. |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 22
|
Полностью согласен и уже переписал код
![]() Но вопрос этот все равно остался, можно как нибудь сделать такое обращение? |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Разрешите вклиниться в тему и задать вопрос по MVC? (на случай, если разрешаете, привожу
С превеликим удовольствием почитал http://www.flasher.ru/forum/showthread.php?t=138349 со всеми потрохами. Все здорово, но некоторые вопросы остались без ответа. Одна замечательная мысль, которая мне запомнилась "MVC у каждого свой")))) Тем не менее, я сторонник того, что если пользуешься инструментом, научись пользоваться правильно, и только потом применяй нестандартные подходы (мож че лучше придумаешь). Ладно, вопрос: зачем нужна V и M? Почему обработку всех событий с обеих сторон и вызов методов не отдать целиком контроллеру. Тогда и модель не будет знать ничего о виде, и вид о модели. И в случае, если мы что-то захотим чуть-чуть поменять, или перелопатить существенно, то достаточно будет изменить лишь крошку контроллер (насколько я понимаю, он должен быть "тонким"). В случае же, если у нас Представление подписывается на события Модели, а мы по каким-то причином убираем диспатч соответствующего события, то нам придется лезть и в код Представления. |
|
|||||
|
Цитата:
Цитата:
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|