Angular - 存储当前用户

时间:2015-10-15 22:16:45

标签: angularjs

我正在构建一个Angular应用程序,我有一个用户将看到的主页,我想在页面的右侧显示一个按钮:登录。如果用户尚未登录,如果用户已登录,我希望此确切按钮具有“帐户设置”和“注销”列表。

我在我的应用程序中使用路由,所以当用户登陆主页时,我还没有加载任何控制器(尚未)。我正在基于app配置中的$ state加载控制器来为每个视图加载控制器。

我在哪里存储用户的登录状态,以便更改按钮以表示登录或注销?我是否需要为主页制作控制器?我迷失在这里,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您将使用ng-show / ng-hide和ng-click。因此,如果用户未登录,您将显示该按钮。

这看起来像是:

<button ng-hide="isLoggedIn()" ng-click"login()">Login</a></button>
<button ng-show="isLoggedIn()" ng-click"showSettings()">Account Settings</a></button>
<button ng-show="isLoggedIn()" ng-click"logout()">Logout</a></button>

控制器看起来像

$scope.isLoggedIn = Auth.isLoggedIn;    // code to check if user is logged in

当用户登录时,他们将获得存储的cookie。所以你想找出一种方法来检查cookie是否存在。上面的'Auth'是一个工厂,它使用函数isLoggedIn来检查用户的cookie是否存在。

如果你搜索这个,网上有很多例子。我使用Angular Full Stack(yeoman)进行授权,但有更简单的方法不包含后端。