Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Angular-存储当前用户的登录信息_Angularjs - Fatal编程技术网

Angularjs Angular-存储当前用户的登录信息

Angularjs Angular-存储当前用户的登录信息,angularjs,Angularjs,我正在构建一个Angular应用程序,我有一个用户可以看到的主页,我想在页面的右侧显示一个按钮,上面写着:Login。如果用户还没有登录,我希望这个按钮有一个“帐户设置”和“注销”的列表,如果用户已经登录 我在我的应用程序中使用路由,所以当用户登陆主页时,我还没有加载任何控制器。我正在根据应用程序配置中的$state加载控制器,以便为每个视图加载控制器 我在哪里存储用户的登录状态,以便将按钮更改为登录或注销?我需要为主页制作一个控制器吗?我在这里迷路了,任何帮助都将不胜感激 您将使用ng sho

我正在构建一个Angular应用程序,我有一个用户可以看到的主页,我想在页面的右侧显示一个按钮,上面写着:Login。如果用户还没有登录,我希望这个按钮有一个“帐户设置”和“注销”的列表,如果用户已经登录

我在我的应用程序中使用路由,所以当用户登陆主页时,我还没有加载任何控制器。我正在根据应用程序配置中的$state加载控制器,以便为每个视图加载控制器


我在哪里存储用户的登录状态,以便将按钮更改为登录或注销?我需要为主页制作一个控制器吗?我在这里迷路了,任何帮助都将不胜感激

您将使用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>
当用户登录时,他们将得到一个存储的cookie。所以你想找出一种方法来检查cookie是否存在。上面的“Auth”是一个工厂,它使用函数isLoggedIn检查用户的cookie是否存在


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

您好,谢谢您的回答。因此,每次用户刷新页面时,我都需要检查他是否已登录?通常情况下,您有导航链接-因此,如果用户未登录,则会有登录、主页链接。登录后,您将看到注销、配置文件、设置。。。这几乎是瞬间发生的,因为在SPA中,所有JS代码在应用程序最初加载时下载一次。这是一个repo-因此您可以看到签出组件/nav和相应控制器的生产风格用例
$scope.isLoggedIn = Auth.isLoggedIn;    // code to check if user is logged in