我正在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
吗?
答案 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');
}
}
});