可能之前的api写的有些枯燥吧,因为不烧脑,不需要很多逻辑思维来做处理,那么之后的文章会有趣很多,慢慢的开始烧脑了,准备好大量脑细胞的死亡吧~   先来篇简单的缓存服务。

这里野兽把api文档里的$cacheFactory和 $cacheFactory.Cache 放到一起学习。

$cacheFoctory

用于生成一个用来存储缓存对象的服务,并且提供对对象的访问。

$cacheFactory.Cache

一个用于存储和检索数据的缓存对象。主要使用$http和脚本指令来缓存模板和其他数据。

该服务有以下方法:

put(key,value);

在缓存对象中插入一个键值对(key,value)。

get(key);

在缓存对象中通过指定key获取对应的值。

romove(key);

在缓存对象中通过指定key删除对应的值。

removeAll();

删除缓存对象中所有的键值对。

destroy();

销毁这个缓存对象。

info();

获取缓存对象信息(id,size)。

key:string类型,缓存对象中的值名称。

value:所有类型,缓存对象中的值。

使用代码:

  (function () {
angular.module("Demo", [])
.controller("testCtrl", ["$cacheFactory",testCtrl]);
function testCtrl($cacheFactory) {
var myCache = $cacheFactory("my-cache");
myCache.put("cache", "This is cache-content");
myCache.put("another-cache", "This is another cache-content");
var getCache = myCache.get("cache"); //This is cache-content
var getInfo = myCache.info();//{id: "my-cache", size: 2}
myCache.remove("another-cache");
getInfo = myCache.info();//{id: "my-cache", size: 1}
myCache.removeAll();
getInfo = myCache.info();//{id: "my-cache", size: 0}
myCache.destroy();
getInfo = myCache.info();//{size: 0}
};
}());

值的注意的是,这是应用程序的缓存服务,而不是浏览器本地的缓存。所以当你刷新浏览器,初始化整个应用程序的时候,之前的缓存数据都会丢失。那么问 题就来了,怎么才能刷新/初始化应用程序而不丢失之前保存的数据呢,这个可以使用localStorage或者cookies,关于ng的这两个存储操 作,之后的文章会写到,现在根据api一个个慢慢来写,有需要和有兴趣的话,也可以自己网上找资料学习

Angular - - $cacheFactory的更多相关文章

  1. AngularJs $cacheFactory 缓存服务

    可能之前的api写的有些枯燥吧,因为不烧脑,不需要很多逻辑思维来做处理,那么之后的文章会有趣很多,慢慢的开始烧脑了,准备好大量脑细胞的死亡吧~   先来篇简单的缓存服务. 本文将api文档里的$cac ...

  2. angular中$cacheFactory缓存的使用

    最近在学习使用angular,慢慢从jquery ui转型到用ng开发,发现了很多不同点,继续学习吧: 首先创建一个服务,以便在项目中的controller中引用,服务有几种存在形式,factory( ...

  3. Forms in Angular 2

    Input handling is an important part of application development. The ng-model directive provided in A ...

  4. Angular中的$cacheFactory的作用和用法

    1.Angular中的$cacheFactory的作用:    (1)put(key,value); 在缓存对象中插入一个键值对(key,value). (2)get(key); 在缓存对象中通过指定 ...

  5. angularjs1-8,cacheFactory,sce

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  6. Event Binding in Angular

    https://www.pluralsight.com/guides/angular-event-binding Introduction In this guide, we will explore ...

  7. angular

  8. Download Excel file with Angular

    源码连接(编写中) 用Angular下载后台返回的Excel文件,用Blob实现,引用FileSaver.js 后台C#代码: [WebMethod] public static byte[] Cal ...

  9. 初识Angular

    一.AngularJs简介 1.AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷.AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识 ...

随机推荐

  1. call_create_syn.sql

    promptprompt ================================================================================prompt ...

  2. Left/Right/Inner Join用法和区别

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  3. 基于Verilog HDL 的数字时钟设计

    基于Verilog HDL的数字时钟设计 一.实验内容:     利用FPGA实现数字时钟设计,附带秒表功能及时间设置功能.时间设置由开关S1和S2控制,分别是增和减.开关S3是模式选择:0是正常时钟 ...

  4. LINQ to SQL语句对应SQL的实现

    LINQ to SQL语句(1)之Where LINQ to SQL语句(2)之Select/Distinct LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg LINQ ...

  5. web.xml的启动顺序

    1. context-param 2. Listener 3. Filter 4. servlet <?xml version="1.0" encoding="UT ...

  6. CodeForces 484D Kindergarten

    贪心观察+DP决策. 首先需要观察到一个结论:分割后的每一段肯定是单调增或者单调减的. 然后可以根据dp来决策如何分割价值最多. dp[i][0]表示放完第i个,最后一段是递减的情况下的最大价值 dp ...

  7. JQuery中的相反的地方

    1.on和delegate的参数顺序相反 2.each和map参数也是相反的

  8. 51nod1138(math)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1138 题意:中文题诶- 思路:假设 x=a1+(a1+1)+ ...

  9. Linux/hp unix/AIX日常巡检脚本(转)

    以下为Linux/hp unix/AIX日常巡检脚本,大家可以参考着进行改写,用于自己的服务器. #!/usr/bin/ksh syserrdate=`date +"%m/%d"` ...

  10. iOS开发——二级列表

    原理很简单,一级菜单放在viewForHeaderInSection里面,加一个点击事件,然后判断它的二级菜单(cell)显不显示. 直接上代码吧! // //  HeheTableViewContr ...