我在向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但结果相同。
谢谢你的时间答案 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
。