Javascript 角度UI路由器:在路由中设置任意GET参数

Javascript 角度UI路由器:在路由中设置任意GET参数,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,是否可以使用angularjs和AngularUI路由器在URL中设置任意可选参数 我想我知道如何提取参数($stateParam.parameter),但在从一条路线导航到另一条路线时如何设置它们?简单调用$state.go(newState,{param1:'foo',param2:'bar'})似乎不起作用(在本例中,至少url不包含?param1=foo¶m2=bar)。我不想预先将参数定义为状态定义的一部分。我希望它们由用户填充。根据您可以在url中附加?。然后,您可以命名每个

是否可以使用angularjs和AngularUI路由器在URL中设置任意可选参数

我想我知道如何提取参数(
$stateParam.parameter
),但在从一条路线导航到另一条路线时如何设置它们?简单调用
$state.go(newState,{param1:'foo',param2:'bar'})
似乎不起作用(在本例中,至少url不包含
?param1=foo¶m2=bar
)。我不想预先将参数定义为状态定义的一部分。我希望它们由用户填充。

根据您可以在url中附加
。然后,您可以命名每个查询参数,结果如下:
/go to?param1=hello¶m2=world
。这是一本很好的读物:

此外,如果您想要完全任意的参数,应该使用
$location.search()
而不是$stateParams。()

使用
$location.search()
获取/设置GET参数的示例:


追加
需要定义一个我无法执行的参数
$location.search()
只会更改URL,但实际上不会触发重新加载。触发手动
$state.reload()
将擦除我使用
$location.search('foo','bar')
$location.search('foo','yipee')
在url(
?foo
中定义
foo)设置的查询参数。
// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var searchObject = $location.search();
// => {foo: 'bar', baz: 'xoxo'}

// set foo to 'yipee'
$location.search('foo', 'yipee');
// $location.search() => {foo: 'yipee', baz: 'xoxo'}