用Angular實時獲取本地Localstorage數(shù)據(jù),實現(xiàn)一個模擬后臺數(shù)據(jù)登入的效果
研究了一上午,終于做出了,實時獲取本地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");//得到的數(shù)據(jù)是字符串
storage=JSON.parse(storage) ||[];//字符串轉(zhuǎn)換成對象
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");//得到的數(shù)據(jù)是字符串
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;
}
// 判斷本地是不是已經(jīng)有這個名字
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數(shù)據(jù),實現(xiàn)一個模擬后臺數(shù)據(jù)登入的效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- JS localStorage實現(xiàn)本地緩存的方法
- 詳解JavaScript中l(wèi)ocalStorage使用要點
- 使用jquery讀取html5 localstorage的值的方法
- android webview 中l(wèi)ocalStorage無效的解決方法
- 在localStorage中存儲對象數(shù)組并讀取的方法
- cookie解決微信不能存儲localStorage的問題
- 利用php實現(xiàn)一周之內(nèi)自動登錄存儲機制(cookie、session、localStorage)
- 移動端使用localStorage緩存Js和css文的方法(web開發(fā))
- JS中利用localStorage防止頁面動態(tài)添加數(shù)據(jù)刷新后數(shù)據(jù)丟失
- 本地存儲localStorage用法詳解
相關(guān)文章
angular實現(xiàn)input輸入監(jiān)聽的示例
今天小編就為大家分享一篇angular實現(xiàn)input輸入監(jiān)聽的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
關(guān)于angular表單動態(tài)驗證的一種新思路分享
在Angular?中不管是模板驅(qū)動表單還是響應式表單,對于動態(tài)創(chuàng)建表單的支持都很好,下面這篇文章主要給大家介紹了關(guān)于angular表單動態(tài)驗證的一種新思路,需要的朋友可以參考下2022-03-03
詳解Webstorm 下的Angular2.0開發(fā)之路(圖文)
這篇文章主要介紹了詳解Webstorm 下的Angular2.0開發(fā)之路(圖文) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
angularJS自定義directive之帶參方法傳遞詳解
今天小編就為大家分享一篇angularJS自定義directive之帶參方法傳遞詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
AngularJS控制器之間的數(shù)據(jù)共享及通信詳解
本文詳細介紹了AngularJS控制器之間的數(shù)據(jù)共享與通信,對angularjs共享數(shù)據(jù)及通信相關(guān)知識感興趣的朋友可以一起學習。2016-08-08

