2017-07-31 60 views
1

我有這樣禁用路由

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的路線提供者是我的應用程序的第一頁。

但登錄後,在重裝將在login.html的頁

我希望其他的頁面保持活在刷新和login.html的爲我打開頁面結束了任何頁面

回答

1

重新加載頁面將每次重新創建$ rootScope。因此,您需要將登錄詳細信息存儲在任何存儲中,例如localstorage。

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

此鏈接可以幫助你。您需要在成功登錄後存儲數據,並在解析url時獲取存儲的數據並驗證使用情況。

+0

感謝您的評論,如果有任何工作的例子鏈接?請 –

+0

更新我的答案。 –

+0

https://www.youtube.com/watch?v=G0DsmDzVBoQ&list=PL67QbqrRRyyRzUcK5qJc5AOvit5_RPE1O&index=17這可能是有益的 –

0
​​

嘗試類似這樣的事情。

+0

感謝您的評論,但它不工作。 –

+0

你可以請發表剩餘的代碼嗎? – anu

+0

http://embed.plnkr.co/dd8Nk9PDFotCQu4yrnDg/請參閱此鏈接.. – anu