我们正在使用版本pre4 of ember.
我们有一个与ember并行工作的框架(SignalR),可以处理我们应用程序的实时通知.在旧版本的ember中,我们能够访问路由器/控制器的全局引用.但随着Ember的新版本,这已不再可能.(这很好)我们尝试过不同的方法,比如在顶部路径中设置全局控制器:
setupController: function(){
app.appController = this.controllerFor('app');
}
Run Code Online (Sandbox Code Playgroud)
并向该控制器发送一个事件,该事件冒泡到这样的路径:
notificator.update = function (context) {
app.appController.send('notificationOccured', context);
});
Run Code Online (Sandbox Code Playgroud)
但这感觉就像对抗Ember团队一样,刚刚删除了全球参考资料.
所以现在提出一个大问题:是否有更好的方法从Ember外部访问路由器或控制器?优选地,将事件发送到具有上下文的事件.
所有帮助表示赞赏!
是否有一个等效的功能来使用ember中的新路由器来获取控制台中的currentPath?
之前,我能够这样做:
App.router.get("currentPath")
Run Code Online (Sandbox Code Playgroud)
但是,似乎与新的路由器,你不能以相同的方式访问路由器.事实上,App.router只返回undefined.
这里的任何帮助将不胜感激.
编辑:
在相关的说明中,因为我无法再访问App.router及其属性,我无法弄清楚如何手动触发状态更改.例如,
App.router.transitionTo("some.state")
Run Code Online (Sandbox Code Playgroud)
不再可行.现在每个人都在做什么呢?
ember.js ×2