0

如何在 ember 应用程序之外检测路由更改(# 或 popstate)?我试过这个但没有运气:他们从不开火

 window.onhashchange = function locationHashChanged() {
      console.log(location.hash);
    };
    window.addEventListener('popstate', function locationHashChanged(e) {
      console.log(e.location);
    });
4

1 回答 1

2

我不是 100% 确定在公共 API 中是否有这样做的好方法。但是,如果您可以接受一些小技巧,则可以使用此处描述的属性。

var applicationController = App.__container__.lookup('controller:application');
applicationController.addObserver('currentRouteName', function() {
    var currentRouteName = applicationController.get('currentRouteName');
    // ...
});
于 2015-03-20T16:54:59.620 回答