запретить перезагрузку страницы браузера при переходе на другую страницу - angularjs - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь предотвратить перезагрузку страницы с помощью angularjs.в настоящее время с кодом, который у меня есть, страница не перезагружается, но никогда не переходит на другую страницу.вот код

 $scope.login = function(){
        $scope.loading="loading";
        Service.authenticate($.param({
            username : $scope.username,
            password : $scope.password,
        }), function(res) {
            if(res !== undefined){
                if(res.success){


                    var windowElem = angular.element($window);
                      windowElem.on('beforeunload', function (event) {

                      event.preventDefault();
                      $(location).attr('href', '/dashboard');
                      })

                }else{

                    $scope.error = res.message;

                }
            }

Я не знаю, пытаюсь ли я заново изобрести колесо, но страница не перемещается без перезагрузки

1 Ответ

0 голосов
/ 18 мая 2018

Советую использовать uirouter (https://github.com/angular-ui/ui-router/wiki).

Зарегистрировать модуль в вашем приложении

angular .module ('myApp', [... 'ui.router ', ...])

Сконфигурировать $ stateProvider внутри вашей функции конфигурации

.config (function ($ stateProvider, ...) {

    $stateProvider
        .state('main.login', {
            url : "/",
            views : {
                "login" : {
                    controller : 'LoginCtrl',
                    templateUrl : 'views/login/login.html'
                }
            }
        })

...

После успешного входа в систему вы можете использовать службу $ state для изменения состояния (и страницы) вашего приложения, очевидно, без перезагрузки страницы.

$ state.go ('main.whereverRegisteredState', {some: data});

Я не буду объяснять вам настройку приложения, контроллер, представление или внедрение службы, просто следуйте официальной документации.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...