当前位置: 首页 > 编程日记 > 正文

AngularJs $cacheFactory 缓存服务

可能之前的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-contentvar 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一个个慢慢来写,有需要和有兴趣的话,也可以自己网上找资料学习或和野兽进行交流讨论,大家共同进步...

转载于:https://www.cnblogs.com/ys-ys/p/4967404.html

相关文章:

H5使用百度地图SDK获取用户当前位置并且标记显示在地图

代码实现功能&#xff1a; H5使用百度地图SDK获取用户当前位置并且标记显示在地图&#xff0c;点击该标记弹出一层自定义的HTML。 效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" conten…

clojurescript_为什么ClojureScript在NPM上如此出色

clojurescriptby Jacek Schae由Jacek Schae 为什么ClojureScript在NPM上如此出色 (Why ClojureScript works so well with NPM) Every language that complies/transpiles to JavaScript wants to connect to npm to use this huge ecosystem. The master of this is, of cour…

微信网页开发 jssdk前后端代码,PHP实现完整代码,自定义分享

如果你页面启用了https&#xff0c;务必引入 https&#x1f615;/res.wx.qq.com/open/js/jweixin-1.0.0.js &#xff0c;否则将无法在iOS9.0以上系统中成功使用JSSDK 微信网页JS-SDK的功能实现&#xff0c;后端php&#xff0c;完整源码。分享内容自定义。 jsapi_ticket &…

delphi自定义事件处理

http://www.cnblogs.com/ywangzi/archive/2012/09/06/2673414.html delphi自定义事件处理 为什么我们点击按钮&#xff0c;就会执行按钮的onclick事件&#xff1f;这个事件是怎么和我们自己的代码关联起来的。相信很多人都有这个疑问。那么我们就通过一个自定义事件来了解这里面…

textarea输入框限制字数(JS)

第一种: <textarea οnkeyup"checkLen(this)"></textarea> <div>您还可以输入 <span id"count">200</span> 个文字</div> <script type"text/javascript"> function checkLen(obj) { var maxCha…

域名管理系统 二级域名_域名系统简介

域名管理系统 二级域名by Sumedh Nimkarde由Sumedh Nimkarde 域名系统简介 (An introduction to the Domain Name System) You all might have heard about or know about the Domain Name System (DNS) if you understand how the internet works or how computer networks w…

redis面试总结

&#xff08;1&#xff09;什么是redis? Redis 是一个基于内存的高性能key-value数据库。 &#xff08;2&#xff09;Reids的特点 Redis本质上是一个Key-Value类型的内存数据库&#xff0c;很像memcached&#xff0c;整个数据库统统加载在内存当中进行操作&#xff0c;定期通…

struts2 实现自定义标签

/*** lostingz* Created on 2015年11月18日*/ package com.test.web.tags;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.struts2.components.Component; import org.apache.struts2.views.jsp.ComponentTa…

php修改多个字段

1.直接修改 2.按条件修改 1.代码&#xff1a; <?phpheader("Content-Type:text/html;charsetutf8"); header("Access-Control-Allow-Origin: *"); //解决跨域header(Access-Control-Allow-Methods:GET);// 响应类型 header(Access-Control-Allow-H…

备忘录吕吕没有备忘录十新建_一份备忘单,可帮助您记住CSS自定义属性

备忘录吕吕没有备忘录十新建CSS custom properties, also known as CSS variables, represent custom properties that can be declared and be called in your CSS.CSS定制属性&#xff0c;也称为CSS变量&#xff0c;表示可以在CSS中声明和调用的定制属性。 在CSS中声明自定义…

Oracle数据库一些操作信息

Oracle数据库如何查看当前用户角色权限及默认表空间查看当前用户的一些信息&#xff0c;包括用户拥有的角色权限信息、用户表空间以及用户和默认表空间的关系等--查看用户的角色权限1、查看当前用户拥有的角色权限信息&#xff1a;select * from role_sys_privs; 2、查看所有用…

Eclipse用法和技巧十:显示代码outline

在一个文件中快速找到某一个方法或者某一个作用域&#xff0c;可以使用 CtrlO或者CtrlF3&#xff0c;快速显示当前代码的outline&#xff0c;进行快速查找。效果如下&#xff1a; 这里主要是补充一些后续操作&#xff0c;能更加方便的帮助我们查找。 步骤一&#xff1a;再…

上传文件到服务器指定目录,文件名相同自动替换PHP实现代码

效果图&#xff1a; html代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body><form action"https://xxx.wang/xxx/upload.php&qu…

ssh框架实现数据库_自顶向下介绍SSH及其如何实现安全的数据共享

ssh框架实现数据库by Sam Ollason通过萨姆奥拉森(Sam Ollason) This article will take a high-level and top-down approach to explain how SSH works and how it is used for securely communicating with remote computers.本文将采用一种自上而下的高级方法来解释SSH的工…

UITableView

表格视图 目录 表格视图的功能和介绍表格视图的基本使用显示分组数据单元格的构成和基本定制常用事件处理添加头部视图和尾部视图设置段头和段尾表格视图的编辑(难点)表格视图的索引表格的分割线表格视图的搜索表格视图控制器表格视图的功能和介绍 表格视图的功能:如上图所示,t…

js 跨页面的全局变量

定义全局变量的js&#xff1a; a.js 1 function GlobalConfig(){ 2 3 } 4 GlobalConfig.IPSSAddress"http://localhost/index/"; 5 (function(){ 6 7 })(); View Code页面index.html里需要引用a.js 页面index.html自己的js&#xff1a; b.js $scope.URL GlobalCon…

微信小程序发送表情

实现代码&#xff1a; 先在data定义两个数组&#xff0c;分别是表情和存表情正则替换的符号表示 connectemoji: [&#x1f60a;, &#x1f605;, &#x1f632;, &#x1f62d;, &#x1f602;, &#x1f604;, &#x1f629;, &#x1f61e;, &#x1f635;, &#x1f612;, …

CSS-in-JS的权衡

by Oleg Isonen由Oleg Isonen CSS-in-JS的权衡 (The tradeoffs of CSS-in-JS) Recently I wrote a higher level overview of CSS-in-JS, mostly talking about the problems this approach is trying to solve. Library authors rarely invest time into describing the trad…

抽象工厂模式AbstractFactory

简介 抽象工厂模式(Abstract Factory Pattern)&#xff1a;提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无须指定它们具体的类。抽象工厂模式又称为Kit模式&#xff0c;属于对象创建型模式。 不同点 为了更清晰地理解抽象工厂模式&#xff0c;需要先引入两个概念…

uni-app 之 使用扩展组件(uni ui) Pagination 分页器使用示例

先贴出 分页器文档的地址&#xff1a; Pagination 分页器 使用步骤&#xff1a; 1.下载或者导入插件到你的项目&#xff1b; 2.在需要使用的页面引入该插件。 使用操作&#xff1a; 1.下载或者导入插件到你的项目&#xff1b; 导入的操作流程示例图&#xff1a; 点击使用…

S3C2440-中断体系架构

1.ARM的体系与架构 1.1.ARM体系的CPU有以下其中工作模式: 用户模式 (usr)快速中断模式 (fiq) 中断模式 (irq)管理模式 (svc)数据访问终止模式 (abt)系统模式 (sys)未定义指令终止模式 (und)1.2.ARM寄存器: 31个通用寄存器 : R0~R7(未备份寄存器) , R8~R14(备份寄存器) , R15( …

编码和编码格式一样吗?_学习如何像专业人士一样编码

编码和编码格式一样吗?Learn how to write more professional code from Dylan Israel. Dylan teaches about tools and principles to improve your code that hes found helpful in his job as a developer.从Dylan Israel了解如何编写更专业的代码。 Dylan教授有关改善您的…

__bridge 使用注意

前奏 在平常开发中,我们可能遇到 CoreFoundation(CF) 框架的对象和 OC 对象之间的类型转换,这时候我们需要 __bridge 来帮忙 注意 : 如果是使用 CF __bridge CF -> OC (只完成类型转换)- (void)bridgeCF2OC{CFStringRef aCFString CFStringCreateWithCString(NULL, "b…

php使用TCPDF生成PDF文件教程

functioncreatePdfFile($frontData) { /*新建一个pdf文件&#xff1a; Orientation&#xff1a;orientation属性用来设置文档打印格式是“Portrait”还是“Landscape”。 Landscape为横式打印&#xff0c;Portrait为纵向打印 Unit&#xff1a;设置页面的单位。pt&#xff1a;点…

VUE 框架添加全局公共方法 , 保留小数点后两位

在main.js 里面给Vue对象添加方法。 来一个示例代码&#xff1a; import Vue from vue import App from ./AppVue.prototype.num_to_str_liangwei (val 0) > {return (val / 100).toFixed(2) } App.mpType appconst app new Vue({...App }) app.$mount() 代码添加的…

在Unity中创建3D直升机游戏

In this lecture from Colton Ogden, you can learn game development principles by coding a Helicopter Game 3D using Unity and C#. The principles you learn can apply to any programming language and any game.在Colton Ogden的本次演讲中&#xff0c;您可以通过使用…

洛谷P3572 [POI2014]PTA-Little Bird

P3572 [POI2014]PTA-Little Bird 题目描述 In the Byteotian Line Forest there are nn trees in a row. On top of the first one, there is a little bird who would like to fly over to the top of the last tree. Being in fact very little, the bird might lack the str…

ps aux详解(进程状态说明)

linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5…

小程序云开发 一开通云开发,给数据库添加一条记录

先来一个给云数据库添加一条数据库记录的代码&#xff1a; wx.cloud.init({env:school-5k07l})const db wx.cloud.database()const school db.collection(school_db)//school_db是数据库记录的名称&#xff0c;相当于MYSQL中数据库的表的名字school.add({// data 字段表示需新…

spring vertx_如何在Spring设置Vertx

spring vertxby Rick Lee李瑞克(Rick Lee) 如何在Spring设置Vertx (How to set up Vertx in Spring) Spring is probably the most popular framework in the Java space. We all love its dependency injection and all that autowired/configuration magic. It makes unit t…