如何在Ember.js中访问控制器中的动态段?

Mel*_*vin 11 ember.js

我有一个示例路线:

this.route('client', {path: ':id'});
Run Code Online (Sandbox Code Playgroud)

我可以在我的路线中访问这个:

model: function(params) {
    console.log(params.id);
}
Run Code Online (Sandbox Code Playgroud)

如何访问:id控制器中的?

ble*_*enm 8

这就是我在我的应用程序中这样做的方式.不确定这是否是最佳方法.

App.IndexRoute = Em.Route.extend({
  model: function(params) {
    this.set('params', params);
  },
  setupController: function(controller, model) {
    controller.set('params', this.get('params'));
    this._super(controller, model);
  }
});
Run Code Online (Sandbox Code Playgroud)

或者,您也可以在控制器内的容器上查找.但我真的不认为这是一个好方法.这是一个例子.

this.get('container').lookup('router:main').router.currentHandlerInfos
        .findBy('name','index').params
Run Code Online (Sandbox Code Playgroud)