2013-02-12 3 views
2

Это может быть тривиальной задачей, но я новичок в области angularjs. Вот мой 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.but, как выполнить эту вещь в angularjs.

ответ

7

Вам не нужно вручную это делать. Только отменить мероприятие, если они не подтверждения:

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

работал как шарм :) – iJade

-4

window.location = 'myURL'

Here's the MDN docs

+2

с помощью «Окно» - это плохая практика для Angular.js. Всегда используйте вместо этого $ window. См. Http://docs.angularjs.org/api/ng.$window –

6

Вы можете использовать либо обычный JavaScript, как указано в других ответах или вы можете использовать $ услугу определения местоположения при условии такими как:

O R

$location.replace(next) 

Сначала один добавляет к текущему пути (по большей части) частичного

Второй один заменяет текущий путь (например, google.com на yahoo.com)

 Смежные вопросы

  • Нет связанных вопросов^_^