2017-07-31 4 views
1

J'ai un fournisseur d'itinéraire comme celui-ciroutage Désactiver le rafraîchissement de la page dans js angulaire

app.config(function ($routeProvider, $locationProvider){ 
$locationProvider.hashPrefix(''); 


$routeProvider 
.when('/', { 
    templateUrl: 'login.html', 
    controller: 'loginCtrl' 
}) 
.when('/home', { 
    resolve:{ 
     "check":function($location, $rootScope){ 
      if(!$rootScope.loggedIn){ 
       $location.path('/'); 
      } 
     } 
    }, 
    templateUrl:'home.html', 
    controller: 'homeCtrl' 
}) 
.otherwise({ 
    redirectTo: '/' 
    }); 
}); 

login.html est la première page de mon application.

Mais après la connexion, sur rechargeant une page qui se termine dans la page login.html

Je veux d'autres pages garder en vie sur refresh et login.html comme page d'ouverture

Répondre

1

La page de rechargement recréera $ rootScope à chaque fois. Vous devez donc stocker les informations de connexion dans n'importe quel stockage, tel que localstorage.

http://blog.teamtreehouse.com/storing-data-on-the-client-with-localstorage

Ce lien peut vous aider. vous devez stocker les données une fois que vous vous êtes connecté avec succès. et obtenir des données stockées et valider l'utilisation lors de la résolution de l'URL.

+0

Merci pour le commentaire, S'il existe des exemples de liens de travail? S'il vous plaît –

+0

mis à jour ma réponse. –

+0

https://www.youtube.com/watch?v=G0DsmDzVBoQ&list=PL67QbqrRRyyRzUcK5qJc5AOvit5_RPE1O&index=17 cela pourrait être utile –

0
scotchApp.config(function($stateProvider, $urlRouterProvider, $compileProvider, $locationProvider) { 
     $locationProvider.html5Mode(true); 
     $compileProvider.debugInfoEnabled(false); 
     // route for the home page 

     $stateProvider 
      .state('home', { 
       url: '/home', 
       templateUrl : 'pages/home.html', 
       controller : 'mainController' 
      }) 

      // route for the about page 
      .state('about', { 
       url: '/about', 
       templateUrl : 'pages/about.html', 
       controller : 'aboutController' 
      }) 

      // route for the contact page 
      .state('contact', { 
       url: '/contact', 
       templateUrl : 'pages/contact.html', 
       controller : 'contactController' 
      }); 

      $urlRouterProvider.otherwise('home'); 
    }); 

Essayez quelque chose comme ceci.

+0

Merci pour le commentaire, mais cela ne fonctionne pas. –

+0

Pouvez-vous s'il vous plaît poster le code restant? – anu

+0

http://embed.plnkr.co/dd8Nk9PDFotCQu4yrnDg/ Reportez-vous à ce lien .. – anu