Actionscript 3 MVC рабочий процесс - PullRequest
0 голосов
/ 05 марта 2010

Как лучше всего передавать данные между основным классом и классом представления и наоборот?

main.as <br /> var model : Model = new Model(); <br /> var view : View = new View(); <br /> var controller : controller = new Controller(); <br /> <br /> public function callFromView() : void {}</p> <p> view.as

// how to reference the main.as <br /> private function callToMain() : void <br /> {<br /> // please help<br /> }

Ответы [ 2 ]

1 голос
/ 06 марта 2010

Я обычно управляю связью, изменяя свойства в модели через контроллер.При изменении значений в модели я буду отправлять события, представляющие эти изменения.Любой (в данном случае Main), имеющий ссылку на модель, может подписаться на эти события.Это приводит к более округлой реализации, но к очень слабосвязанному результату.

0 голосов
/ 05 марта 2010

Создайте переменную внутри вашего класса View с именем:

var main:Main;

Затем функция для получения объекта типа Main, который устанавливает переменную, которую вы создали выше, например:

public function setMain(mainIN:Main):void
{
   main = mainIN;
}

Теперь у вас есть локальная копия всех данных, содержащихся в вашем основном классе документов в вашем классе View. Вы можете получить доступ к свойствам main, выполнив это (внутри функций вашего класса представления):

main.model.x = mouseX; //just an example. For this, your model variable inside Main would need to be public.

Чтобы передавать данные другим способом, вы просто создаете открытые свойства или функции внутри своего класса View, а затем, поскольку вы создали экземпляр View внутри вашего класса Main, он сможет получить доступ к нему как обычно с помощью кода вроде:

view.someViewFunction();

Таким образом, каждый класс имеет доступ к свойствам и функциям друг друга. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...