如何更改 Ember 中的查询参数?
How do I change query parameters in Ember?
我正在 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
的第一个参数是什么。
还有其他方法可以让 URL 变成 ?fooId=123
吗?
从 controller:application 你可以像这样设置查询参数 foo
:
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['foo'],
actions: {
updateMyQueryParam() {
this.set('foo', 'hello');
}
}
});
您不需要当前路线名称。你可以做 'transitionTo({queryParams: { foo: 123 })'。路由器会将其应用到正确的路由。
我正在 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
的第一个参数是什么。
还有其他方法可以让 URL 变成 ?fooId=123
吗?
从 controller:application 你可以像这样设置查询参数 foo
:
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['foo'],
actions: {
updateMyQueryParam() {
this.set('foo', 'hello');
}
}
});
您不需要当前路线名称。你可以做 'transitionTo({queryParams: { foo: 123 })'。路由器会将其应用到正确的路由。