加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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();
  });
});

然后,当然,你可以使用这些信息,但你认为合适;例如在指令中,在模板等。您可以重复此(定制您需要做什么)在菜单控制器等。当您更改服务状态时,所有将自动更新。

任何更具体的取决于你的实现。

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读