Ember.js pre4, как сделать предыдущий pre2 connectOutlet
Предположим, что в pre2 у меня был этот код приложения вне маршрутизатора:
var controller = App.MyController.create();
controller.content = [...];
App.get('router').get('applicationController').connectOutlet({
outletName: 'modal',
controller: controller,
viewClass: App.MyView,
context: controller
});
То есть я заполняю розетку с именем «модальная», добавленную в шаблон «приложения», своими данными.
Теперь в pre4 у меня нет ссылок на контроллеры, созданные роутером. Как бы вы заполнили розетку снаружи роутера?
Я мог бы попросить маршрутизатор о переходе, но я не хочу изменять URL, так как я просто открываю модальное содержимое текущего содержимого.
РЕДАКТИРОВАТЬ:
Это то, что я придумал для временного исправления, просматривая представление приложения из объекта App.Router.router. Очевидно, что это грязный хак, кто-нибудь знает лучший и правильный способ сделать это в pre4?
var controller = App.MyController.create();
controller.content = this.get('content');
var theView = App.MyView.create();
theView.set('controller', controller);
App.Router.router.currentHandlerInfos[0].handler.router._activeViews.application[0].connectOutlet('modal', theView);