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

时间:2016-02-04 03:56:20

标签: ember.js ember-router

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

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

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

还有另一种方法可以让网址变为?fooId=123吗?

2 个答案:

答案 0 :(得分:9)

您不需要当前路线名称。你可以做'transitionTo({queryParams:{foo:123})'。路由器会将其应用到正确的路由。

答案 1 :(得分:0)

控制器:应用程序,您可以像这样设置查询参数foo

import Ember from 'ember';

export default Ember.Controller.extend({
  queryParams: ['foo'],

  actions: {
    updateMyQueryParam() {
      this.set('foo', 'hello');
    }
  }
});