Допустим, у вас есть такая модель:
[Bindable]
public class Project {
public var name:String;
}
И у вас есть модель презентации:
[Bindable]
public class SummaryPresentationModel
{
private var projectModel:Project = new Project();
public var title:String;
}
В своем конструкторе вы можете связать данные с установщиком модели.к функции, которая устанавливает заголовок:
public function SummaryPresentationModel() {
BindingUtils.bindSetter(modelNameChanged, projectModel, "name");
}
А затем установите значение title
:
private function modelNameChanged(newValue:String):void {
title = "[" + projectModel.name + "] Summary";
}
После этого вы можете свободно связываться с summaryPM.title
, и все будетцепочка к пользовательскому интерфейсу при изменении projectModel.name
.
Вы можете усложнить ситуацию и использовать функцию "getter" на title
(в отличие от простой установки, как я здесь), но вам нужно распространятьуведомление об изменении.Мне не так уж сложно это сделать, но я считаю, что этот метод немного проще в использовании.
Надеюсь, это поможет!