Montrant alerte dans angularjs quand un utilisateur quitte la page

Je suis un angularjs abeille. Je suis en train d'écrire une validation qui alerte l'utilisateur lorsqu'il tente de fermer la fenêtre du navigateur.

J'ai 2 liens sur ma page v1 et v2.Lorsqu'il est cliqué sur les liens qu'il faut pour les pages spécifiques.
Voici le code pour rediriger vers la v1 et la v2

angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives'])

.config(['$routeProvider', function($routeProvider) {
        $routeProvider.when('/v1', {templateUrl: 'pages/v_1.html', controller: MyCtrl1});
        $routeProvider.when('/v2', {templateUrl: 'pages/v_2.html', controller: MyCtrl2});
        $routeProvider.otherwise({redirectTo: '/v1'});
}]);

Je veux afficher un message lorsque l'utilisateur clique sur v1 qu'il est sur le point de quitter à partir de v1, s'il veut continuer" et même en cliquant sur v2.
Tous les pointeurs sur la façon d'y parvenir serait appréciée.

J'ai obtenu une réponse ici mais il s'affiche le message après chaque intervalle de temps.

Code Mis À Jour;

Contrôleurs

function MyCtrl1() {
    $scope.$on('$locationChangeStart', function (event, next, current) {
        if ('your condition') {
            event.preventDefault();

            MessageService.showConfirmation(
                'Are you sure?',
            MessageService.MessageOptions.YES_NO, {
                'YES': function () {
                    blockNavigation = false;
                    $location.url($location.url(next).hash());
                    $rootScope.$apply();
                },
                'NO': function () {
                    MessageService.clear();
                    $log.log('NO Selected')
                }
            });
        }
    });
}
MyCtrl1.$inject = [];


function MyCtrl2() {}
MyCtrl2.$inject = [];
  • Je crois que le terme que tu voulais est "débutant". Sauf si vous êtes réellement un apis mellifera pupe.
InformationsquelleAutor iJade | 2013-02-11