我正在尝试检测何时发生路由转换。我在v1.0.0-pre.4
处理转换的最新版本的 Ember ( ) 中找到了这个代码片段:
didTransition: function(infos) {
// Don't do any further action here if we redirected
if (infos[infos.length-1].handler.transitioned) { return; }
var appController = this.container.lookup('controller:application'),
path = routePath(infos);
set(appController, 'currentPath', path);
this.notifyPropertyChange('url');
if (get(this, 'namespace').LOG_TRANSITIONS) {
Ember.Logger.log("Transitioned into '" + path + "'");
}
},
我将 Ember 应用程序设置为window.App = Ember.Application.create()
.
我注意到它调用了this.notifyPropertyChange('url');
,但我试图将观察者附加到我的应用程序,App.Router
或者App.Router.router
我收到错误,因为它没有实现Ember.Observable
。
如何在不为我的每条路由创建特殊的 Ember.Route 的情况下检测路由路径何时更改?