在控制台中访问新的ember路由器

Han*_*Han 7 ember.js

是否有一个等效的功能来使用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)

不再可行.现在每个人都在做什么呢?

Han*_*Han 12

我发现答案埋没在github问题中.在这里重新发布后代.

App.container.lookup('router:main').router
Run Code Online (Sandbox Code Playgroud)

..返回路由器.您可以访问transitionTo和handleURL来手动触发状态更改.不完全确定如何获得当前状态,但似乎您可以访问路由器上的currentHandlerInfos属性以获取当前处理程序的数组(duh).

希望这可以防止别人撕掉他们的头发.

  • 容器刚刚被重命名,以明确表示不应将其用作公共API.出于调试目的,您仍然可以使用以下命令访问路由器:`App .__ container __ .lookup('router:main').router (2认同)