Я - новая пчела. Я пытаюсь написать подтверждение, которое предупреждает пользователя, когда он пытается закрыть окно браузера.
У меня есть 2 ссылки на моей странице v1 и v2.При нажатии на ссылки, которые она принимает на определенные страницы. Вот код для перенаправления на v1 и 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'});
}]);
Я хочу вывести сообщение, когда пользователь нажимает на v1, чтобы "он собирался уйти из v1, если он хочет продолжить" и при нажатии на v2. Любые указатели на то, как достичь этого, будут оценены.
Я получил ответ здесь, но он выдает сообщение после каждого интервала времени.
Обновленный код;
Контроллеры
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 = [];