在 Ember 中查找 URL 的路线?

Lookup route for URL in Ember?

Ember 是否公开了一个 API 我可以用来从 URL 手动查找路线(以点分隔的路径)?

例如:

Ember.routeForURL('/foo/bar')

据我所知,没有 public API。你可以做的是使用路由器的识别器。

let owner = Ember.getOwner(this);
let router = owner.lookup('router:main');
let handlers = router.router.recognizer.recognize('/foo/bar')

"handlers" 将包含一个对象数组,其中处理程序 属性 将是这样的 ["application", "foo", "foo.bar"]

然后你可以使用最后一个处理程序来做

owner.lookup('route:' + lastHandler)