页面刷新后,工厂的值将被删除
value of factory gets erased after page refresh
这是我的工厂
app.factory('userFactory', function(localStorageService, $http, $rootScope) {
var myUser = {};
myUser.isCrazy = false;
return myUser;
});
当用户登录时,在登录控制器中,我从数据库中获取一些数据并决定,使用if/else
,用户是否疯了,所以我有
app.controller('loginController', ['$scope', 'localStorageService', '$location','userFactory','$rootScope',
function ($scope, localStorageService, $location, userFactory, $rootScope ) {
userFactory.isCrazy = true;
}
]);
然后,在另一个页面的控制器中,我根据userFactory.isCrazy
显示/隐藏divs(也是真/假)。
app.controller('anotherPageController' ,['$scope', '$filter', '$rootScope', 'userFactory','localStorageService',
function ($scope, $filter, $rootScope, userFactory, localStorageService) {
if(userFactory.isCrazy == true){
$scope.myMessage = true;
}
}
]);
$scope.myMessage
的 html 是
<div ng-hide="myMessage">
这是我的问题。
登录后,isCrazy
为真。当我第一次访问该页面时,根据anotherPageController
,消息是隐藏的,isCrazy
仍然是真的。都很好。
如果我点击刷新,isCrazy
会恢复为 false,并且消息不再隐藏。
我在这里错过了什么?为什么isCrazy
不保持其价值?
谢谢
是的,它不保存值。为此,您必须至少使用本地或会话存储来保留这些值。
只需创建一个具有该值的cookie。搜索setCookie API
。你可以随心所欲地使用 JavaScript 或 PHP 来做到这一点。如果您仍然想使用 angular js 来做到这一点,请查看 angular-js cookie API 。
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- Angularjs工厂注入错误
- 按顺序添加和删除类
- 如何将参数传递到angularJs中的工厂
- iframe正在添加标签,需要删除它们
- 如何在HTML输入字段中添加不可删除的后缀
- addData()从最新图表中删除.js 2.1.3-怎么了
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 删除CKEditor工具栏按钮,但不删除功能
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 正在删除node.js中已验证的网站
- 正在从页面中删除iframe
- 页面刷新后,工厂的值将被删除
- AngularJS - 做应用程序将提交和删除功能放入工厂
- 我们可以移除/删除控制器、服务、工厂、指令等吗?