Javascript 检查localStorage在AngularJS路由中是否有值的最简单方法
网络上的许多教程都有一些奇怪且庞大的angularJS条件路由逻辑 我需要一些非常简单的东西: 只需检查一个组件,如果localStorage的authFlag为true,则类似于:Javascript 检查localStorage在AngularJS路由中是否有值的最简单方法,javascript,angularjs,angularjs-routing,Javascript,Angularjs,Angularjs Routing,网络上的许多教程都有一些奇怪且庞大的angularJS条件路由逻辑 我需要一些非常简单的东西: 只需检查一个组件,如果localStorage的authFlag为true,则类似于: app.config(function ($routeProvider) { $routeProvider .when('/', { templateUrl: 'views/app.html', controller: 'AppCtrl' })
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/app.html',
controller: 'AppCtrl'
})
.when('/articles', {
templateUrl: 'views/articles.html',
controller: 'ArticlesCtrl',
conditions: { isAuth }
})
.otherwise({
redirectTo: '/'
});
});
怎么做更好?要检查authFlag是否在本地存储中,如果不在,则根目录为“/”?您需要添加解析,然后在“解析”功能中,添加本地存储的检查, 并发送至“/”如果不是: 在“解析”函数中添加以下代码
resolve:{
data: function(){
var result = window.localStorage.getItem("authFlag");
if (result)
{
// do whatever you want to do
}
else
{
$location.path("/");
}
}
},
您需要添加解析,然后在“解析”功能中,添加本地存储的检查, 并发送至“/”如果不是: 在“解析”函数中添加以下代码
resolve:{
data: function(){
var result = window.localStorage.getItem("authFlag");
if (result)
{
// do whatever you want to do
}
else
{
$location.path("/");
}
}
},
result
在本地存储中存在authFlag
键时将为true,即使值为false
。result
在本地存储中存在authFlag
键时将为true,即使值为false
但这只是配置路由。决定重定向到哪个路由的逻辑不属于这里。该逻辑应该在您的控制器中。@pixelbits如何编写此类逻辑?我将处理与服务器登录安全相关的重定向。它应该在服务器端进行处理。@pixelbits不,用户界面必须有路由,它只是配置路由。决定重定向到哪个路由的逻辑不属于这里。该逻辑应该在您的控制器中。@pixelbits如何编写此类逻辑?我将处理与服务器登录安全相关的重定向。它应该在服务器端处理。@pixelbits不,ui也必须有路由