Angular更改URL中变量的值

时间:2015-11-10 09:14:17

标签: angularjs variables url routes location

我目前遇到的问题是我无法更改网址中参数的值。这是我的网址:http://localhost/details

我想添加或交换"反向"我过滤表格时网址中的参数,如下所示:http://localhost/details?inverse=falsehttp://localhost/details?inverse=true我每次提交表格时都选中了反复选框。

以下是如何从网址获取参数:

var paramsURL = $location.search();
// If params in URL
if( Object.keys(paramsURL).length > 0) {
    if ( paramsURL.hasOwnProperty('reverse')){
         $scope.reverse = paramsURL.reverse;
    }
}

如果URl的反向参数为true,则将其存储并应用于请求中。这到目前为止完美无缺。

问题是当用户提交表单时动态更改URL。

我尝试了以下的事情,但没有人工作:

$location.search('reverse', $scope.reverse).replace();

$location.search({reverse:$scope.reverse});

$ scope.reverse存在,因为它具有默认值但我无法更改URL以匹配其值。

有没有人之前已经遇到过这个问题?谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果正确获得了您的要求,则需要动态地在查询参数中设置新值。您可以尝试以下

$location.path('/currentPath').search({key: value});

密钥:将为reverse

将动态设置为truefalse

上面的setter方法允许链接多个值