国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

AngularJS之ionic 框架下實(shí)現(xiàn) Localstorage本地存儲

2019-11-19 16:45:47
字體:
供稿:網(wǎng)友

前言:

我們前臺用的是ionic+AngularJS,做的是混合模式移動應(yīng)用。最近有一個需求是,我在頁面A上面滑動的時候,跳入頁面B,頁面B需要加載頁面A的數(shù)據(jù),這樣的頁面?zhèn)髦等绾螌?shí)現(xiàn)呢?那就需要用到LocalStorage本地存儲了。

 

Ionic

Ionic是目前最有潛力的一款HTML5手機(jī)應(yīng)用開發(fā)框架。通過SASS構(gòu)架應(yīng)用程序,他提供了很多UI控件來幫助開發(fā)者開發(fā)強(qiáng)大的應(yīng)用。加上angularjs可以讓ionic應(yīng)用體驗(yàn)度增強(qiáng)。代碼也非常簡單。angularjs可以提供數(shù)據(jù)的雙向綁定,使用它成為 Web 和移動開發(fā)者的共同選擇。

angularjs

AngularJS建立在JavaScript基礎(chǔ)之上,而后者正是目前世界上應(yīng)用范圍最廣、靈活程度最高的編程語言之一。AngularJS能夠?yàn)槭褂谜咛峁┮惶淄暾能浖糜诨谇岸说膽?yīng)用程序。對于Web開發(fā)人員來說,AngularJS以框架形式將所有復(fù)雜性元素加以打包,從而保證使用者只需要直接接觸那些最易于實(shí)現(xiàn)的功能。更多的介紹可以看我之前的博客。

在客戶端存儲數(shù)據(jù)(localStorage &sessionStorage )

Html5 提供了兩種在客戶端存儲數(shù)據(jù)的新方法:

  1. localStorage - 沒有時間限制的數(shù)據(jù)存儲
  2. sessionStorage - 針對一個 session 的數(shù)據(jù)存儲

之前,這些都是由 cookie 完成的。但是 cookie 不適合大量數(shù)據(jù)的存儲,因?yàn)樗鼈冇擅總€對服務(wù)器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。在 HTML5 中,數(shù)據(jù)不是由每個服務(wù)器請求傳遞的,而是只有在請求時使用數(shù)據(jù)。它使在不影響網(wǎng)站性能的情況下存儲大量數(shù)據(jù)成為可能。對于不同的網(wǎng)站,數(shù)據(jù)存儲于不同的區(qū)域,并且一個網(wǎng)站只能訪問其自身的數(shù)據(jù)。

localStorage本地存儲

相對于上述本地存儲方案,localStorage有自身的優(yōu)點(diǎn):容量大、易用、強(qiáng)大、原生支持;缺點(diǎn)是兼容性差些(chrome,  safari, firefox,IE 9,IE8都支持 localStorage,主要是IE8以下版本不支持)、安全性也差些(所以請勿使用localStorage保存敏感信息)。 localStorage保存的數(shù)據(jù),一般情況下是永久保存的,也就是說只要采用localstorage保存信息,數(shù)據(jù)便一直存儲在用戶的客戶端中。即使用戶關(guān)閉當(dāng)前web瀏覽器后重新啟動,數(shù)據(jù)讓然存在。知道用戶或程序明確制定刪除,數(shù)據(jù)的生命周期才會結(jié)束。在安全性方面,localstorage是域內(nèi)安全的,即localstorage是基于域的。任何在該域內(nèi)的所有頁面,都可以訪問localstorage數(shù)據(jù)。

localStorage四種方法:

  1. localStorage.getItem(key):獲取指定key本地存儲的值
  2. localStorage.setItem(key,value):將value存儲到key字段
  3. localStorage.removeItem(key):刪除指定key本地存儲的值
  4. localStorage.length是localStorage的項(xiàng)目數(shù)

項(xiàng)目實(shí)戰(zhàn):

evaluationTaskCtrl  controller.js

/*登陸controller*/ .controller('evaluationTaskCtrl', function($scope,$state,evaluationTaskService,studentEvaluateService) {   //右滑動跳入卷子界面-zzzzzz  $scope.onSwipeLeft = function(EvaluateCourse) {     localStorage.setItem("PaperId", EvaluateCourse[0].PaperId);      localStorage.setItem("TeacherName", EvaluateCourse[0].TeacherName);     localStorage.setItem("CourseID", EvaluateCourse[0].CourseID);     localStorage.setItem("TeacherID", EvaluateCourse[0].TeacherID);     localStorage.setItem("CourseName", EvaluateCourse[0].CourseName);     localStorage.setItem("CourseType",EvaluateCourse[0].CourseType);     $state.go("studentEvaluate");      }; } 

頁面A.html

<ion-content class="has-header item-text-wrap" overflow-scroll='false'  on-swipe-left="onSwipeLeft(EvaluateCourse)" on-swipe-right="onSwipeRight()"> <ion-list >   <div class="item item-icon-left item-icon-right" ng-repeat="item in EvaluateCourse" ng-click="gotoStudentEvaluate(item)">   <!--ng-click="gotoStudentEvaluate(item)"-->     <div >           <i class="icon ion-record " ng-style="{ color: color({{$index}}) }" style="font-size: 320%">       <div style="font-size:45% ;font-weight:bold;position: relative;left: -42%;color:#FFFFFF">        {{item.TeacherName|limitTo:1}}       </div>     </i>             <h2 style="position: relative;left:5%;font-weight:bold;">{{item.CourseName}}</h2>        <i class="ion-android-person" style="position: relative;left:5%;bottom:-3px;color: #AEEEEE"></i>       <p style="position: relative;left:5%;bottom:-2px;display: inline;color: #AAAAAA">{{item.TeacherName}}</p>     </div>    </div> </div> <!--內(nèi)容div--> </ion-list > </ion-content > 

在頁面B的controller.js里面獲取值:

$scope.PaperId=localStorage.getItem("PaperId");             $scope.TeacherName=localStorage.getItem("TeacherName");             $scope.CourseID=localStorage.getItem("CourseID");             $scope.TeacherID=localStorage.getItem("TeacherID");             $scope.CourseName="【" +localStorage.getItem("CourseName")+"】"; 

在頁面B上面顯示:

<!-- 課程教師顯示 -->     <h1 class="title" style="font-weight:bold;" ng-cloak>{{CourseName}} <span ng-bind="TeacherName"></span> 

總結(jié):

最近接觸的都不能用經(jīng)驗(yàn)來解決,因?yàn)槭切率挛铮荒苁前俣攘恕:髞硪部梢阅7轮约簩懸粚懀皩W(xué)到的理論知識也真正運(yùn)用了出來。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐清市| 崇礼县| 隆化县| 双流县| 搜索| 青浦区| 四川省| 彭阳县| 类乌齐县| 江山市| 额尔古纳市| 兴义市| 仙居县| 莱芜市| 淮安市| 乌兰察布市| 莱西市| 越西县| 蓬安县| 洛扎县| 马龙县| 洪江市| 新蔡县| 桃园市| 沾益县| 比如县| 上思县| 河曲县| 呼和浩特市| 武穴市| 尖扎县| SHOW| 高唐县| 夏河县| 黑水县| 文登市| 太谷县| 湄潭县| 农安县| 临邑县| 宜城市|