模板缓存-$templateCache and 缓存工厂 $cacheFactory


1.使用script标签

<html ng-app>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.2/angular.js"></script>
<body>
<div ng-include='"test"'></div>
<script type="text/ng-template" id="test">
This is the content of the template
</script>
</body>
</html>
  • 如果使用script标签,那么就要加上type为text/ng-template

  • ng-include的值必须用'""'或者"''",只有一个单引号或者双引号的时候会无效

2.使用url地址文件

<html ng-app>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.2/angular.js"></script>
<body>
<div ng-include='"test.html"'></div>
</body>
</html>
  • 在目录下新建test.html文件即可

3.使用js脚本

<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.2/angular.js"></script>
<body>
<div ng-include='"test"'></div>
<script>
angular.module('app.ui', [])
.run(['$templateCache','$cacheFactory',
function($templateCache,$cacheFactory) {
var cachetest = $cacheFactory('cache');
cachetest.put('a','This is the content of the template');
}]);
angular.module('app', ['app.ui'])
.run(['$templateCache','$cacheFactory',
function(temp,cache) {
var cachetest = cache.get('cache');
temp.put('test',cachetest.get('a') );
cachetest.destroy();
}]);
angular.bootstrap(document, ['app']);
</script>
</body>
</html>

$templateCache里面存放的是键值对的数据,有$cacheFactory创建对象一样的方法

$cacheFactory创建的的对象,有如下方法

  1. {object} info() — 返回大小、id、一些缓存的参数
  2. {value} put(key,value) — 插入键值对,键为字符串,值为任何类型,返回键值对中的值
  3. {value} get(key) —通过键返回值,如果不存在返回 undefined
  4. {void} remove(key) — 通过键来移除,无返回值
  5. {void} removeAll() — 移除所有的模板缓存,无返回值
  6. {void} destroy() —移除当前创建的缓存($templateCache无效)

$cacheFactory有所创建的对象直接通过$cacheFactory('cacheID',[,option])

其中的option对象主要有capacity参数为数字类型设置最大的列表长度,
默认值为Number.MAX_VALUE,当超过的时候最早的会被移除,当设置最长长度为2的时候,
方法如下

  $cacheFactory('cache',{capacity:2});

获取的时候调用get方法参数为cache的ID即可,当不存在时返回undefined


Ⅱ.AngularJS的点点滴滴--缓存的更多相关文章

  1. Ⅲ.AngularJS的点点滴滴-- 路由

    路由ngRoute (需要依赖ngRoute模块) <html> <script src="http://ajax.googleapis.com/ajax/libs/ang ...

  2. Ⅰ.AngularJS的点点滴滴--引导

    AngularJS已经被很多人像炒冷饭一样炒过啦,大部分都是直接复制官方文档没有说明一些注意事项,不过什么都要从头开始吧 页面引导实例化 1.自动实例化 <html> <script ...

  3. Ⅶ.AngularJS的点点滴滴-- 事件

    事件(和js一样有冒泡和捕获) <html> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2 ...

  4. Ⅵ.AngularJS的点点滴滴-- 指令

    指令 基本用法 <html> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.2/angul ...

  5. Ⅴ.AngularJS的点点滴滴-- 资源和过滤

    资源ngResource(依赖ngResource模块) <html> <script src="http://ajax.googleapis.com/ajax/libs/ ...

  6. Ⅳ.AngularJS的点点滴滴-- 服务

    服务(Angularjs很多方法都是服务组成的) 1.使用service方法创建的单例服务 <html> <script src="http://ajax.googleap ...

  7. Angularjs中的缓存以及缓存清理

    写在最前面:这篇博文是2篇文章组成,详细介绍了Angularjs中的缓存以及缓存清理,文章由上海尚学堂转载过来,欢迎大家阅读和评论.转载请注明出处,谢谢! 一个缓存就是一个组件,它可以透明地储存数据, ...

  8. AngularJs 禁止模板缓存

    因为AngularJs的特性(or 浏览器本身的缓存?),angular默认的HTML模板加载都会被缓存起来.导致每次修改完模板之后都得经常需要清除浏览器的缓存来保证浏览器去获得最新的html模板,自 ...

  9. AngularJS中的缓存

    欢迎大家指导与讨论 : ) 缓存篇 一个缓存就是一个组件,它可以透明地储存数据,以便以后可以更快地服务于请求.多次重复地获取资源可能会导致数据重复,消耗时间.因此缓存适用于变化性不大的一些数据,缓存能 ...

随机推荐

  1. 【转】Spring 注解学习手札(超好的springmvc注解教程)

    Spring 注解学习手札(一) 构建简单Web应用 Spring 注解学习手札(二) 控制层梳理 Spring 注解学习手札(三) 表单页面处理 Spring 注解学习手札(四) 持久层浅析 Spr ...

  2. discuz 门户栏目URL跳转异常的问题

    “SEO设置-URL静态化”的问题.

  3. win7 安装SQL Server 2005 开发版 图文教程

    转自win7 安装SQL Server 2005 开发版 图文教程 ----------------------------写在安装前------------------------------ 一. ...

  4. [topcoder]KingdomReorganization

    http://community.topcoder.com/stat?c=problem_statement&pm=11282&rd=14724 这道题是最小生成树,但怎么转化是关键. ...

  5. bzoj3876

    不高兴的回忆啊啊啊当初这种简单题因为自己作死就暴零0了这题在OJ上是简单的最小有下界费用流,增广到正费用为止因为算的是总时限但实际的话似乎要用pacman吃豆豆那题的方法先用dp跑出第一次的增广路再用 ...

  6. HNOI2008 and ZJOI2006 排名系统

    1056: [HAOI2008]排名系统 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1311  Solved: 337[Submit][Statu ...

  7. 尚未在 Web 服务器上注册 ASP.NET 4.0” 的解决办法

    http://www.sowsoy.com/topics-537.html win7,vs2010创建.NetFramework 4框架下的Asp.Net空网站.系统提示 “尚未在 Web 服务器上注 ...

  8. 只要把鼠标移上Div方框,方框就自动顺时针旋转

    这是一个CSS3特效,IE下看不到效果.一个Div方框,在CSS3代码的作用下,只要把鼠标移上Div方框,方框就自动顺时针旋转.代码量不大,甚至有些简单,作为一个基础的CSS3实例,我想还是比较不错的 ...

  9. 嵌入式linux平台搭建

    选用Ubuntu12.04.2系统搭建平台.在原始系统下做如下更改: 将更新使用的服务器设置为国内“163”服务器 安装SSH,uboot—mkimage等软件 安装编译器“arm—2009q3”及相 ...

  10. POJ 3616 Milking Time (字符串DP)

    题意:找元素关于对角线左或右对称的最大矩阵 思路:左右对角线只需要遍历一条就可以了.只要当前点往上遍历和往后遍历一样就可以. #include<iostream> #include< ...