Как передать переменные из контроллера в представление и наоборот в extjs4 MVC? - PullRequest
3 голосов
/ 15 ноября 2011

Мне нужно передать некоторые переменные из контроллера в его представление или в другое представление. Как я могу сделать это в MVC-структуре extjs4?

Ответы [ 2 ]

5 голосов
/ 18 ноября 2011

Если вы создаете объект обзора из контроллера, передайте эту переменную напрямую, например, Ext.create('view.myview',{id:Ext.id(),myVariable:"someValue"}); и вы можете получить к нему доступ в методе initComponent представления как initComponent: function() { this.myVariable }

4 голосов
/ 16 ноября 2011

Я рекомендую использовать Пассивное представление , где представление имеет как можно меньше логики.

Ваш контроллер может получить доступ к любому из виджетов в представлении через ComponentQuery.Затем вы можете написать код в контроллере для установки или чтения значений из представления.

Вы также можете использовать метод form.loadRecord () для загрузки модели в представление / форму.

Виджеты в представлении взаимодействуют с контроллером, вызывая события, которые затем обрабатываютсяконтроллер.

Вы должны загрузить все свои контроллеры при запуске приложения.

Ваш контроллер должен иметь только обработчики событий и никогда не должен использовать массив refs или функции getView () (иначе вы не сможете управлять несколькими экземплярами одного и того же представления).

Создайте и уничтожьте ваши взгляды по желанию.Передайте функции обратного вызова для связи от родительского до дочернего представления.

...