【发布时间】:2016-02-28 13:44:01
【问题描述】:
我对 AngularJS 非常陌生,并且我已经在一个示例中工作了几天 https://github.com/cornflourblue/angular-registration-login-example。问题是我试图读取我从服务器发送的 cookie,在那个例子中,angular-cookie 库像 (1.2) 一样旧,所以我用最新的替换了它。当我尝试访问 run 方法时出现问题,我无法访问 $cookies var,我尝试在不注入的情况下注入它。
我实际上不知道发生了什么。所以如果你能帮我一点(&& ||)推荐我最新更好的例子会很棒。
(函数(){
'使用严格';
var app = 角度
.module('app', ['ngRoute', 'ngCookies'])
.config(配置)
。跑跑);
config.$inject = ['$routeProvider', '$locationProvider'];
功能配置($routeProvider,$locationProvider){
$routeProvider
。什么时候('/', {
控制器:“家庭控制器”,
templateUrl: 'AngularJS/home/home.view.html',
控制器作为:'vm'
})
.when('/登录', {
控制器:'登录控制器',
templateUrl: 'AngularJS/login/login.view.html',
控制器作为:'vm'
})
.when('/注册', {
控制器:“注册控制器”,
templateUrl: 'AngularJS/register/register.view.html',
控制器作为:'vm'
})
.otherwise({ redirectTo: 'AngularJS/login' });
}
run.$inject = ['$rootScope', '$location', '$http'];
函数运行($rootScope,$location,$http,$cookies){
//我想在这里使用$cookies,但似乎不可能。
// 页面刷新后保持用户登录状态
$rootScope.globals = $cookies.get('globals') || {};
if ($rootScope.globals.currentUser) {
$http.defaults.headers.common['Authorization'] = '基本' + $rootScope.globals.currentUser.authdata; // jshint 忽略:行
}
$rootScope.$on('$locationChangeStart', function (event, next, current) {
// 如果未登录并尝试访问受限页面,则重定向到登录页面
var restrictedPage = $.inArray($location.path(), ['/login', '/register']) === -1;
var loggedIn = $rootScope.globals.currentUser;
if (restrictedPage && !loggedIn) {
$location.path('/login');
}
});
}
})();
对不起,我的英语水平很差...(不是我的母语):·)
非常感谢。
【问题讨论】:
标签: javascript angularjs cookies