angularjs – 如何在Angular中存储当前用户上下文?
发布时间:2020-12-17 09:10:43 所属栏目:安全 来源:网络整理
导读:我有一个AuthService,它登录一个用户,它返回一个用户json对象。我想做的是设置该对象,并且所有更改反映在应用程序(登录/注销状态),而不必刷新页面。 我将如何使用AngularJS实现这一目标? 最简单的方法是使用服务。例如: app.factory( 'AuthService',fu
我有一个AuthService,它登录一个用户,它返回一个用户json对象。我想做的是设置该对象,并且所有更改反映在应用程序(登录/注销状态),而不必刷新页面。
我将如何使用AngularJS实现这一目标?
最简单的方法是使用服务。例如:
app.factory( 'AuthService',function() { var currentUser; return { login: function() { ... },logout: function() { ... },isLoggedIn: function() { ... },currentUser: function() { return currentUser; } ... }; }); 然后,您可以在任何控制器中引用此。以下代码监视来自服务的值的更改(通过调用指定的函数),然后将更改的值同步到作用域。 app.controller( 'MainCtrl',function( $scope,AuthService ) { $scope.$watch( AuthService.isLoggedIn,function ( isLoggedIn ) { $scope.isLoggedIn = isLoggedIn; $scope.currentUser = AuthService.currentUser(); }); }); 然后,当然,你可以使用这些信息,但你认为合适;例如在指令中,在模板等。您可以重复此(定制您需要做什么)在菜单控制器等。当您更改服务状态时,所有将自动更新。 任何更具体的取决于你的实现。 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |