用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 相关文章推荐
一个js拖拽的效果类和dom-drag.js浅析
Jul 17 Javascript
window.location.hash 使用说明
Nov 08 Javascript
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
Mar 03 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
12个非常实用的JavaScript小技巧【推荐】
May 18 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
JavaScript面向对象精要(下部)
Sep 12 Javascript
Webpack中雪碧图插件使用详解
May 25 Javascript
Centos7 安装Node.js10以上版本的方法步骤
Oct 15 Javascript
JS实现网站楼层导航效果代码实例
Jun 16 Javascript
Vue3实现简易音乐播放器组件
Aug 14 Vue.js
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
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
python可迭代对象去重实例
2020/05/15 Python
Python绘制动态水球图过程详解
2020/06/03 Python
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
动态密码技术
2012/10/18 面试题
教师考核材料
2014/05/21 职场文书
党委班子剖析材料
2014/08/21 职场文书
工作试用期自我评价
2015/03/10 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS