Отражать свойство изменяться с одного взгляда на другой взгляд, используя класс в качестве промежуточного соединения

StackOverflow https://stackoverflow.com/questions/4644379

Вопрос

Я отправил нить который был (после прочтения его снова) совершенно неправильно сформулирован. Это на самом деле то, что я хотел знать:

В приложении Flex используя MATE Предположим, у нас есть вид, называемый View.mxml с свойством под названием ViewProp и класс под названием Classmanager с классом свойств. Предположим, у нас есть еще один вид под названием SecondView.mxml с включением свойств.

Можно ли как-то определить следующее: всякий раз, когда моменты просмотраSPROP (в View.mxml) КлассProp также изменяется в ClassManager, что, в свою очередь, отражает его изменения в SictView.mxml в SeconnProp?!

Я надеюсь, что на этот раз правильно описал это!

заранее спасибо

Это было полезно?

Решение

Это немного отличается от вашего первого вопроса.

Классы View не должны получать доступ к классам модели, и из-за того, что класс View должен отправлять событие для изменения класса модели.

1.) Вы должны определить какое-то новое событие

public class ViewPropIsChangedEvent extends Event
{

  public static const SET_NEW_VALUE:String = "theNewValue";
  private var _value:Object;

  public ViewPropIsChangedEvent(type:String, value:Object, bubbling:Boolean=true, cancelable:Boolean=false)
  {
    super(type,bubbling,cancelable);
    _value = value;
  }
   public function get value():Object
  {
    return _value;
  }
}

2.) Когда вы поменяли просмотр на просмотр .mxml, вы должны отправить событие

dispatchEvent(new ViewPropIsChangedEvent(ViewPropIsChangedEvent.SET_NEW_VALUE, theNewValue))

3.) В случае eventMap вы должны обрабатывать событие

</EventHandlers type="{ViewPropIsChangedEvent.SET_NEW_VALUE}"> 
  <PropertySetter generator="{ClassManager}" 
                  targetKey="ClassProp" 
                  source="{event.value}"/>
</EventHandlers>

4.) В модели ModeMap вы уже должны связать SicTView.secondProp в ClassManager.ClassProp

<Injectors target="{Secondview}">
   <PropertyInjector targetKey="SecondProp" 
                     source="{ClassManager}"
                     sourceKey="ClassProp"/>
</Injectors>

Другие советы

Как насчет таким образом:

При изменении ViewProp или ClassProp это свойство отправляет событие и EventListener добавляется в SicTView.mxml для изменения второго значения свойства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top