如何在Ember中更改查询参数?

Jam*_*sen 2 ember.js ember-router

我在写一个动作处理程序route:application:

actions: {
  changeFoo(foo) {
    // I want to change the fooId queryParam to foo.get('id')
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,我可以找到更改查询参数的唯一记录方法是相同transitionTo('some.route', someModel, { queryParams: { ... } }replaceWith版本.但我在route:application,所以我不知道当前路线的名称.这意味着我不知道第一个论点是什么transitionTo.

是否有其他方法可以使URL成为?fooId=123

小智 9

您不需要当前的路由名称.你可以做'transitionTo({queryParams:{foo:123})'.路由器将它应用于正确的路由.

  • 它在[指南](https://guides.emberjs.com/v2.3.0/routing/query-params/#toc_transitionto)和[api docs](http://emberjs.com/api/classes/Ember)中有记录. .Route.html#method_transitionTo) (4认同)