2

假设我的应用程序绑定到window.App:我可以得到它的路由器App.__container__.lookup("router:main")

如何访问当前路线?具体来说,我想得到它的财产routeName

4

1 回答 1

10

它存在一个名为的属性currentPath,它是应用程序当前状态的计算别名。要获得routeName相同的电流,您可以执行以下操作:

App = Ember,Application.create({
  currentPath: ''
});

ApplicationController : Ember.Controller.extend({
  currentPathDidChange: function() {
    App.set('currentPath', this.get('currentPath'));
  }.observes('currentPath')
});

然后从任何地方访问它:

App.get('currentPath');

有关该物业的更多信息,请参见此处。currentPath

另外值得一提的是,您可以将标志启用LOG_TRANSITIONS为 true,以便在每次应用程序更改状态/路由时将当前路由名称记录在浏览器控制台中:

App = Ember.Application.create({
  LOG_TRANSITION: true
});

注意仅 将App.__container__.lookup("router:main")其用于调试目的,因为它是一个内部 API。

希望能帮助到你。

于 2013-06-21T22:42:49.467 回答