Показать сообщение отдельно
Старый 23.12.2012, 21:59
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 10  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Коммит изменений переносится на представление. Не нужно дергать dispatchItemChange (классический notifyObservers). Представления на Event.RENDER изменяются в соответствии с текущими изменившимися свойствами модели. Профит.
Отложенная валидация?
Ресурсы, оно, конечно экономит.
Но в модели реализуется не проще, чем редиспетчинг.
Плюс в обработчике onRender во вьюхе будет куча if (model.fieldChanged) {...}.
Хотя, когда порядок изменений вьюхе известен - их проще держать под контролем - надо взять на вооружение.
Но автора, по-моему именно проброска изменений с детей в старшие модели напрягала.

Стоп!
Код в модели
Код AS3:
public function set money(value:int) {
    _money = value;
    moneyChanged = true;
}
public var moneyChanged:Boolean = false;
Код во вьюхе
Код AS3:
public function onRender(event:Event):void {
    if (_model.moneyChanged) {
        _moneyTF.text = _model.money + "$";
       _model.moneyChanged = false;// А другие модели как будут изменения слушать?
    }
}
Как это делается то, где флаги изменений сбрасываются?
Просто в ENTER_FRAME всё подрят сбрасывается? Потому что он должен сработать после RENDER?


Последний раз редактировалось expl; 23.12.2012 в 22:16.