Angularjs AngjularJs当前用户解决方案
我对AngularJs是新手。我的问题是用户登录后如何存储当前用户数据 我遇到了很多建议使用服务的解决方案,并将服务注入控制器。大概是这样的:Angularjs AngjularJs当前用户解决方案,angularjs,login,angular-ui-router,cookiestore,Angularjs,Login,Angular Ui Router,Cookiestore,我对AngularJs是新手。我的问题是用户登录后如何存储当前用户数据 我遇到了很多建议使用服务的解决方案,并将服务注入控制器。大概是这样的: customer.factory('service', function(){ var auth = {}; auth.currentUser = null; auth.setCurrentUser = function(data){ auth.currentUser = data; };
customer.factory('service', function(){
var auth = {};
auth.currentUser = null;
auth.setCurrentUser = function(data){
auth.currentUser = data;
};
return auth;
})
这对我来说非常有效,直到我点击浏览器的刷新按钮,Javascript变量中存储的所有信息都丢失了
要解决这个问题,我必须使用$cookieStore或类似的东西吗?我看到很少有人提到ui路线,我不能完全理解它。ui路线是否与此讨论相关?我还想使用相同的解决方案为登录用户保存身份验证令牌
你对这个问题的总体看法是什么?提前非常感谢。Ui-route 我想你指的是AngularJS的路由框架。它与持久性存储无关 服务 角度服务是单例的。它用于在应用程序中组织和共享代码。当诸如控制器之类的组件需要它时,它被实例化。一旦关闭或重新加载应用程序,其中的数据将丢失,并在需要时重新实例化 那么如何持久化数据呢 使用$cookies
angular.module('app',['ngCookies')中包含依赖项代码>
$cookies
依赖项(您要访问cookies的位置)//获取cookie
var favoriteCookie=$cookies.get('myFavorite');
//设置cookie
$cookies.put('myFavorite','oatmedine');`代码>是的,您需要将其存储在持久性存储中:cookie或本地存储。我建议使用ngStorage@JBNizet谢谢。我在互联网上看到的大多数示例都建议使用$scope或$rootscope。所以我认为所有这些解决方案都不是真正可用于生产的解决方案,对吗?@ArjunU。谢谢ngStorage和基于cookie的storage之间有什么区别?非常感谢您的回答!