用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果


Posted in Javascript onNovember 09, 2016

研究了一上午,终于做出了,实时获取本地localStorage来模拟注册登入~~~

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>我们虽然很穷,但是我们有梦想</title>
<script src="angular.js"></script>
</head>
<body ng-app="zcsApp" ng-controller="zcsControl">
用 户 名:<input type="text" ng-model="name" /><br>
密  码:<input type="text" ng-model="pwd" /><br>
确认密码:<input type="text" ng-model="pwd2" /><br>
<input type="button" value="注册" ng-click=" ZhuCe()"/>
<input type="button" value="登入" ng-click=" Enter()"/>
<span style="color: red">{{message}}</span>
</body>
<script>
// var data={"name":"admin","pwd":"12"};
function PersonalInfo(name,pwd){
this.name=name;
this.pwd=pwd;
}
PersonalInfo.prototype.savaLocalStorage= function () {
var storage=window.localStorage.getItem("PersonalInfo");//得到的数据是字符串
storage=JSON.parse(storage) ||[];//字符串转换成对象
storage.push(this);
window.localStorage.setItem("PersonalInfo",JSON.stringify(storage));
};
PersonalInfo.selectByName= function (name,pwd) {
var storage=window.localStorage.getItem("PersonalInfo");
storage= storage?JSON.parse(storage):[];
return storage.some(function (v) {//返回一个布尔值
return v.name===name&& v.pwd;
})
};
PersonalInfo.prototype.hasName= function (name,pwd,fn,fn2) {
var storage=window.localStorage.getItem("PersonalInfo");//得到的数据是字符串
storage= storage?JSON.parse(storage):[];
var data=storage;
for(var i=0;i<data.length;i++){
var v=data[i];
if(name!==v.name&& pwd!==v.pwd) {
fn();
return;
}
};
};
angular.module("zcsApp",[])
.controller("zcsControl",["$scope", function ($scope) {
$scope.ZhuCe= function () {
$scope.message="";
var name=$scope.name;
var pwd=$scope.pwd;
var pwd2=$scope.pwd2;
// 若是输入为空或者undefined时
if(name===undefined||name.trim().length===0||pwd===undefined||pwd.trim().length===0||pwd2===undefined||pwd2.trim().length===0){
$scope.message="请输入完整信息";
return;
}
// 若输入的密码和确认密码不一致时
if(pwd!==pwd2){
$scope.message="俩次输入的密码不一致";
return;
}
// 判断本地是不是已经有这个名字
if(PersonalInfo.selectByName(name,pwd)){
$scope.message="此账号已注册";
return;
}
// 存储信息
var data=new PersonalInfo(name,pwd);
data.savaLocalStorage();
};
$scope.Enter= function () {
$scope.message="";
var name=$scope.name;
var pwd=$scope.pwd;
var per=new PersonalInfo(name,pwd);
if(PersonalInfo.selectByName(name)){
$scope.message="登入成功";
return;
}
per.hasName(name,pwd,function () {
$scope.message="账号错误或者密码不正确"
});//得到登入的信息
}
}])
</script>
</html>

以上所述是小编给大家介绍的用ANGULAR实时获取本地LOCALSTORAGE数据,实现一个模拟后台数据登入的效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
疯狂Jquery第一天(Jquery学习笔记)
May 11 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 Javascript
javascript重写alert方法的实例代码
Mar 29 Javascript
jquery中交替点击事件toggle方法的使用示例
Dec 08 Javascript
jquery easyui combox一些实用的小方法
Dec 25 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
JavaScript事件处理的方式(三种)
Apr 26 Javascript
原生JS和jQuery操作DOM对比总结
Jan 19 Javascript
JS出现失效的情况总结
Jan 20 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
javascript实现一款好看的秒表计时器
Sep 05 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 Javascript
jQuery自定义组件(导入组件)
Nov 08 #Javascript
将json转换成struts参数的方法
Nov 08 #Javascript
easyui-combobox 实现简单的自动补全功能示例
Nov 08 #Javascript
easyui combobox开启搜索自动完成功能的实例代码
Nov 08 #Javascript
基于Vuejs框架实现翻页组件
Jun 29 #Javascript
vue2.0+webpack环境的构造过程
Nov 08 #Javascript
详解React-Todos入门例子
Nov 08 #Javascript
You might like
linux php mysql数据库备份实现代码
2009/03/10 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
php开发工具有哪五款
2015/11/09 PHP
php四种定界符详解
2017/02/16 PHP
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
javascript中this关键字详解
2016/12/12 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
py中的目录与文件判别代码
2008/07/16 Python
python函数装饰器用法实例详解
2015/06/04 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
python实现定时发送邮件
2020/12/23 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
教师民族团结演讲稿
2014/08/27 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL