如何在angularjs中重定向

时间:2013-02-12 20:20:40

标签: javascript redirect angularjs angularjs-directive

这可能是一件微不足道的事情,但我是一个有角度的新手。 这是我的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变量中我有重定向的网址确认确定。但是如何在angularjs中完成此事。

3 个答案:

答案 0 :(得分:7)

您不必手动执行此操作。只有在确认时才取消该事件:

$scope.$on('$locationChangeStart', function (event, next, current) {
    if ( ! confirm("Are you sure you want to leave this page?") ) {
        event.preventDefault();
    }
});

答案 1 :(得分:6)

您可以使用其他答案中提到的普通javascript 或者你可以使用像这样的角度提供的$ location服务

    $location.path(next)

OR

   $location.replace(next)

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

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

答案 2 :(得分:-4)

window.location = 'myURL'

Here's the MDN docs