2

这可能是一件微不足道的事情,但我是一个 angularjs 新手。这是我的 angularjs 控制器代码

    function MyCtrl1($scope, $location, $rootScope) {
  $scope.$on('$locationChangeStart', function (event, next, current) {
    event.preventDefault();
    var answer = confirm("Are you sure you want to leave this page?");
    if (answer) {

    }
  });
}
MyCtrl1.$inject = ['$scope', '$location', '$rootScope'];

next变量中,我有要重定向的 url,确认 OK。但是如何在 angularjs 中完成这件事。

4

3 回答 3

7

您不必手动执行此操作。只有在他们确认时才取消活动:

$scope.$on('$locationChangeStart', function (event, next, current) {
    if ( ! confirm("Are you sure you want to leave this page?") ) {
        event.preventDefault();
    }
});
于 2013-02-12T20:22:39.093 回答
6

您可以使用其他答案中提到的纯 javascript,也可以像这样使用 Angular 提供的 $location 服务

    $location.path(next)

或者

   $location.replace(next)

第一个添加到您当前的路径(主要是部分路径)

第二个替换当前路径(如 google.com 到 yahoo.com)

于 2013-02-12T20:27:56.990 回答
-4

window.location = 'myURL'

这是 MDN 文档

于 2013-02-12T20:22:39.710 回答