详解Angular中$cacheFactory缓存的使用  更新时间:2016年08月19日 09:31:22   作者:薛陈磊   这篇文章主要介绍了Angular中$cacheFactory缓存的使用,非常不错,具有参考借鉴价值,需要的朋友可以参考下 最近在学习使用angular,慢慢从jquery ui转型到用ng开发,发现了很多不同点,继续学习吧;   首先创建一个服务,以便在项目中的controller中引用,服务有几种存在形式,factory();service();constant();value();provider();其中provider是最基础的,其他服务都是基于这个写的,具体区别这里就不展开了,大家可以看看源码;服务是各个controller之间通话的重要形式,在实际项目中会用的很多,下面是代码: angular.module(‘yourApp’).factory(‘myCache’,function($cacheFactory){ return $cacheFactory(‘myData’); });   这里‘myCache’是服务名称,且是唯一,针对一个特定的缓存对象,存在于浏览器中,供控制器引用: angular.module(‘yourApp’). controller(‘userCtrl’,[‘$scope’,’$http’,’myCache’,function($scope,$http,myCache){     //监测是否已经存在缓存数据,如果有就获取然后该干嘛干嘛去 var cache=myCache.get(‘myData’); if(cache){ $scope.variable=cache; }else{ //从接口获取数据,put到缓存中 var jurl=’/data/getdata’; $http({ url: jurl, method: “GET”, data: “{‘query’:’somevalue’}”, headers: { ‘Content-Type’: ‘application/json’ } }).success(function (data, status, headers, config) { //something in success           }).error(function (data, status, headers, config) { //something in error }); } }]) 页面第一次打开时,会从接口中获取数据,当页面发生路由跳转时,这些数据是一直被缓存的,路由跳转到有需求的页面,监测到已经被缓存,就不用向服务器请求数据了,如果是页面被关闭或者是刷新了页面,缓存会丢失,重新向、请求数据并缓存; 这是个简单的示例,在实际项目中的数据会复杂些,比如为了页面优化减少而将页面数据集合请求,减少数据请求次数,获取到数据后分配的route的各个template中,数据结构会复杂些; 目前还没有缓存比较大的数据的示例,理论上这里的cache是javascript中的一个object对象,所以应用中cache的大小限制或大小对浏览器页面性能的影响,还不是很清楚,继续深扒,发现了不同点再来续更。 以上所述是小编给大家介绍的详解Angular中$cacheFactory缓存的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 您可能感兴趣的文章: AngularJS中的缓存使用 使用Angular缓存父页面数据的方法 AngularJS在IE下取数据总是缓存问题的解决方法 详解AngularJS中$http缓存以及处理多个$http请求的方法 AngularJS实现Model缓存的方式 Angularjs在360兼容模式下取数据缓存问题的解决办法 angular factory 相关文章 angularJs中json数据转换与本地存储的实例 今天小编就为大家分享一篇angularJs中json数据转换与本地存储的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 2018-10-10 AngularJS 让人爱不释手的八种功能 AngularJS 让人爱不释手的八种功能,想知道AngularJS哪八种功能让人喜欢就快点看下本文吧 2016-03-03 详细谈谈AngularJS的子级作用域问题 大家在使用angularjs的时候,很容易忽略AngularJS自带指令的作用域问题,有一些指令会产生独立的自己作用域,造成子级无法与父级作用域双向绑定的问题。下面我们来看看这些问题,有需要的可以参考借鉴。 2016-09-09 Angular的$http的ajax的请求操作(推荐) 这篇文章主要介绍了Angular的$http的ajax的请求操作的相关资料,需要的朋友可以参考下 2017-01-01 AngularJS下对数组的对比分析 下面小编就为大家带来一篇AngularJS下对数组的对比分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2016-08-08 AngularJS控制器之间的数据共享及通信详解 本文详细介绍了AngularJS控制器之间的数据共享与通信,对angularjs共享数据及通信相关知识感兴趣的朋友可以一起学习。 2016-08-08 Angular之toDoList的实现代码示例 本篇文章主要介绍了Angular之toDoList的实现代码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-12-12 深入浅析AngularJs模版与v-bind v-bind与{{}}都可以对数据进行绑定,接下来通过本文给大家介绍AngularJs模版与v-bind的相关知识,感兴趣的朋友一起看看吧 2018-07-07 AngularJS框架的ng-app指令与自动加载实现方法分析 这篇文章主要介绍了AngularJS框架的ng-app指令与自动加载实现方法,结合实例形式分析了ng-app指令的功能及自动加载机制的实现技巧,需要的朋友可以参考下 2017-01-01 AngularJS教程之简单应用程序示例 本文主要介绍AngularJS简单应用程序,这里提供了详细的流程和代码程序,有需要的小伙伴可以参考下 2016-08-08 最新评论

最近在学习使用angular,慢慢从jquery ui转型到用ng开发,发现了很多不同点,继续学习吧;

  首先创建一个服务,以便在项目中的controller中引用,服务有几种存在形式,factory();service();constant();value();provider();其中provider是最基础的,其他服务都是基于这个写的,具体区别这里就不展开了,大家可以看看源码;服务是各个controller之间通话的重要形式,在实际项目中会用的很多,下面是代码:

angular.module('yourApp').factory('myCache',function($cacheFactory){
return $cacheFactory('myData');
});

  这里‘myCache’是服务名称,且是唯一,针对一个特定的缓存对象,存在于浏览器中,供控制器引用:

angular.module('yourApp').
controller('userCtrl',['$scope','$http','myCache',function($scope,$http,myCache){     //监测是否已经存在缓存数据,如果有就获取然后该干嘛干嘛去
var cache=myCache.get('myData');
if(cache){
$scope.variable=cache;
}else{
//从接口获取数据,put到缓存中
var jurl='/data/getdata';
$http({
url: jurl,
method: "GET",
data: "{'query':'somevalue'}",
headers: { 'Content-Type': 'application/json' }
}).success(function (data, status, headers, config) {
//something in success          
}).error(function (data, status, headers, config) {
//something in error
});
}
}])

页面第一次打开时,会从接口中获取数据,当页面发生路由跳转时,这些数据是一直被缓存的,路由跳转到有需求的页面,监测到已经被缓存,就不用向服务器请求数据了,如果是页面被关闭或者是刷新了页面,缓存会丢失,重新向、请求数据并缓存;

这是个简单的示例,在实际项目中的数据会复杂些,比如为了页面优化减少而将页面数据集合请求,减少数据请求次数,获取到数据后分配的route的各个template中,数据结构会复杂些;

目前还没有缓存比较大的数据的示例,理论上这里的cache是javascript中的一个object对象,所以应用中cache的大小限制或大小对浏览器页面性能的影响,还不是很清楚,继续深扒,发现了不同点再来续更。

以上所述是小编给大家介绍的详解Angular中$cacheFactory缓存的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • AngularJS中的缓存使用
  • 使用Angular缓存父页面数据的方法
  • AngularJS在IE下取数据总是缓存问题的解决方法
  • 详解AngularJS中$http缓存以及处理多个$http请求的方法
  • AngularJS实现Model缓存的方式
  • Angularjs在360兼容模式下取数据缓存问题的解决办法
张贴在3