Ember.js 在运行时获取位置类型

Ember.js get location type at runtime

如何在 EmberJS 中获取初始化程序中的位置类型? 假设我将配置中的 locationType 设置为 auto。我想知道,当应用程序运行时,在初始化程序中,是否正在使用哈希或历史记录。

我可以这样做吗? 谢谢。

我们花了一些时间进行挖掘,但您可以查找附加到路由器的位置并将其与相关案例进行比较。

const hashLocation = this.container.lookup('location:hash');
const historyLocation = this.container.lookup('location:history');
const currentLocation = this.container.lookup('router:main').get('location');
if(hashLocation === currentLocation){
   // Do thing
}else if(historyLocation === currentLocation) {
   // Do other thing
}else{
   // Fail whale.
}