可能之前的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 $watch

    在scope内置的所有函数中,用得最多的可能就是$watch 函数了,当你的数据模型中某一部分发生变化时,$watch函数可以向你发出通知.你可以监控单个对象的属性,也可以监控需要经过计算的结果(函数 ...

  3. angularjs1-8,cacheFactory,sce

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

  4. Angular Http

    Http服务 HttpClient 是 Angular 通过 HTTP 与远程服务器通讯的机制. 启用Http服务的准备工作 要让 HttpClient 在应用中随处可用,需要在根模块的@NgModu ...

  5. dotnet new 命令使用模板生成Angular应用

    dotnet new 命令使用模板快速生成单页应用,本文以Angular应用为例. 最新版.NET Core SDK RC4 最大改动是更新了 dotnet new 命令. dotnet new 默认 ...

  6. Angular——基本使用

    基本介绍 1.AngularJS是一个框架(诸多类库的集合)以数据和逻辑做为驱动(核心). 2.AngularJS有着诸多特性,最为核心的是:模块化.双向数据绑定.语义化标签.依赖注入等. 模块化 使 ...

  7. 解决vue在ios或android中用webview打开H5链接时#号后面的参数被忽略问题angular同样适用

    解决vue在ios或android中用webview打开H5链接时#号后面的参数被忽略问题angular同样适用 参考文章: (1)解决vue在ios或android中用webview打开H5链接时# ...

  8. 图书馆自动化系统 Evergreen 3.3 发布,迁移到 Angular

    百度智能云 云生态狂欢季 热门云产品1折起>>>   Evergreen 3.3 发布了,Evergreen 是一个开源的图书馆自动化(ILS)系统,读者可以万维网实现图书的查找和借 ...

  9. 移动网站用backbone还是angular?

    移动网站用backbone还是angular? 作者:戴嘉华 链接:https://www.zhihu.com/question/21871888/answer/26130922 来源:知乎 著作权归 ...

最新文章

  1. Java爬虫——B站弹幕爬取
  2. 最高分数的学生姓名(信息学奥赛一本通-T1147)
  3. 虚拟服务器 vmotion,图文并茂:深入了解VMware vMotion过程
  4. c#+asp.net如何删除指定路径下的文件和文件夹
  5. java期末考试工程项目_java web 期末项目实验源码20套,自用学习非常不错!
  6. 台电 平板电脑 html,颜值与功能兼备 台电X6 Pro二合一平板评测
  7. 开源开放 | Gowild 狗尾草“七律”知识图谱进入 OpenKG,开放 8000 万中文百科知识三元组数据...
  8. 计算机启动时硬盘指示灯不亮,电脑启动时没有自检声,硬盘指示灯不亮
  9. 2012年寒假假期总结
  10. 史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
  11. win10系统Microsoft Edge连接不上Internet
  12. c++基础温习之指针分配空间
  13. 【BSP视频教程】STM32H7视频教程第3期:整体捋顺STM32H7的HAL库和LL库的框架,再配合寄存器造轮子找到更适合自己的玩法(2022-01-21)
  14. Chrom for mac下载
  15. 期货开户亏损的一点原因
  16. (轻便)调试JavaScript的旺旺插件(基于jzshmyt的javascript-logger)
  17. PixHawk飞控 配置参数
  18. 齐鲁工业大学的计算机排名,2019年齐鲁工业大学优势专业排名及分数线
  19. 全志哪吒D1-H Tina Linux Ubuntu 22.04入门踩坑日记
  20. 机器人曲轴上下料_曲轴自动上下料机器人

热门文章

  1. x265-bitstream.cpp
  2. java表达式由什么组成_必知必会之Lambda表达式
  3. python干啥用_用python内置函数能干些什么?
  4. spring自定义标签实现
  5. telnet命令详解
  6. apt-get卸载命令
  7. 组合部分标签向量并累加成完整向量
  8. 百度兴趣点下载工具设计和实现
  9. viewpager+fragment学习笔记
  10. VS2005发布网站问题及aspnet_merge.exe”已退出,代码为 1的错误