出于某种原因,这适用于IE和Chrome,但不适用于Safari和Firefox。
$location.path(lastPath);
$window.location.reload(true);
重新加载当前页面,而不是重新加载最后一个路径$window.location.reload(true)
。在Chrome浏览器IE中,重新加载发生在角度$location.path(lastPath)
发生之后。
答案 0 :(得分:2)
感谢。以下解决了这个问题。
$window.location.href = lastPath;
答案 1 :(得分:2)
你可以这样做:
$window.location.href='#/home';
$window.location.reload()
答案 2 :(得分:2)
我正在使用角度为1.5.6的cordova进行开发。简单的行动:
$location.path("/someurl");
$window.location.reload();
适用于chrome和Android应用,但不适用于ios应用。适用于所有平台的是在位置路径发生变化后进行重新加载。
这是使用$locationChangeSuccess事件实现的。给定是一个完整的控制器代码,以便事情清晰。 $ location.path被标记,$ window.location.reload()被放置在$ locationChangeSuccess处理程序中。
angular.module("demo").controller("LoginCtrl", function($scope, $http, $location, $window) {
$scope.dologin = function() {
$scope.message = "";
$http.post(app.baseurl + "/app/login", {
email: $scope.email,
password: $scope.password
},
{
withCredentials: true
}).success(function(response){
$location.path("/dashboard"); // <---
}).error(function(response) {
$scope.message = "invalid user/pass: ";
});
}
$scope.$on('$locationChangeSuccess', function() {
$window.location.reload(true); // <---
});
});