使用$ window.location.href重定向时出现角度误差

时间:2016-11-20 10:51:19

标签: javascript angularjs

我在向API发布数据后尝试重定向到角度上的其他页面, 我输入了这段代码:

$scope.Proceed = function () {
        DataService.InsertPerson($scope.p)
        .then(function success(data) {
            $scope.p.ID = data.data;
            var url = "http://" + $window.location.host + "/#/show/person/";
            $window.location.href =  url + data.data; //adding ID to url
        });
    };

页面正确重定向,但Angular引发错误:

Error: $rootScope:infdig Infinite $digest Loop

我尝试了$ location但结果相同。

谢谢你的时间

1 个答案:

答案 0 :(得分:1)

您可以使用AngularJS $location更改网址并将其添加到历史记录堆栈中,而不是使用$window.location.href进行重定向:

$location.url('/show/person/' +  data.data);

或者:

$location.path('/show/person/' +  data.data);

这两种方法都是getter / setter

  • $location.url返回斜杠后的整个网址,包括 搜索字符串参数并更改路径,搜索和散列,使用参数调用并返回$location
  • $location.path返回斜杠后不包含搜索字符串参数的部分,并在使用参数调用时更改路径并返回$location