2017-07-31 64 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