如何将状态参数传递给Angular JS中的$ location.url

时间:2016-07-15 10:56:37

标签: angularjs angular-ui-router

在我的Angular JS应用程序中,我在状态更改

中传递URL中的一些参数
    $state.go('dashboard.checkoutsuccess', { hostedid: hostedPageId, appName:$scope.appName});   

但是我想使用$ location.url()来进行状态更改,但是如何将上述参数传递给它?

     $location.url( "/dashboard/checkoutsuccess" );
     $location.replace();

1 个答案:

答案 0 :(得分:4)

Angular的$location服务search()方法,为查询字符串参数提供了getter和setter。

$location.search() 不带参数 getter ,它返回一个包含所有查询字符串参数的对象。带参数的$location.search() setter ,它将写入查询字符串。

Setter:

$location.path('/new').search({foo: 'bar', baz:'xoxo'})

会将网址更改为;

`http://example.com/#/new?foo=bar&baz=xoxo`

Getter:

给定网址http://example.com/#/new?foo=bar&baz=xoxo

var searchObject = $location.search();

将返回

{foo: 'bar', baz: 'xoxo'}