如何检测ember应用程序外部的路由更改(#或popstate)?我试过,但没有任何运气:他们从来没有发射
window.onhashchange = function locationHashChanged() {
console.log(location.hash);
};
window.addEventListener('popstate', function locationHashChanged(e) {
console.log(e.location);
});
我不能100%确定在公共API中是否有好的方法来做到这一点。但是,如果你对一个小把戏没意见,你可以使用这里描述的属性。
var applicationController = App.__container__.lookup('controller:application');
applicationController.addObserver('currentRouteName', function() {
var currentRouteName = applicationController.get('currentRouteName');
// ...
});