Javascript 角度UI路由器:在路由中设置任意GET参数
是否可以使用angularjs和AngularUI路由器在URL中设置任意可选参数 我想我知道如何提取参数(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中附加?。然后,您可以命名每个
$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'}