AngularJs禁止模板缓存的方法

本文介绍了AngularJs 禁止模板缓存的方法,分享给大家,也给自己留个笔记,具有如下:

创新互联公司是专业的南州晴隆网站建设公司,南州晴隆接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南州晴隆网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

因为AngularJs的特性(or 浏览器本身的缓存?),angular默认的HTML模板加载都会被缓存起来。导致每次修改完模板之后都得经常需要清除浏览器的缓存来保证浏览器去获得最新的html模板,自己测试还好,但如果更新了服务器的模板内容,用户可不会每个都配合你去清除浏览器的缓存。故这还真是个大问题。

app.config(function($routeProvider, $locationProvider) { 
 $routeProvider 
  .when('/Book/:bookId/ch/', { 
  templateUrl: 'chapter.html', 
  controller: 'ChapterController' 
 }); 
}); 

方法一:在模板文件路径后加时间戳(or 其他随机数),强制AngularJs每次从服务器加载新的模板

app.config(function($routeProvider, $locationProvider) { 
 $routeProvider 
  .when('/Book/:bookId/ch/', { 
  templateUrl: 'chapter.html' + '?datestamp=' + (new Date()).getTime(), 
  controller: 'ChapterController' 
 }); 
}); 

不过这种方法太不美观了。。。。

方法二:使用$templateCache清除缓存

// 禁止模板缓存 
app.run(function($rootScope, $templateCache) { 
  $rootScope.$on('$routeChangeStart', function(event, next, current) { 
    if (typeof(current) !== 'undefined'){ 
      $templateCache.remove(current.templateUrl); 
    } 
  }); 
}); 

在配置 路由地址后,即在app.config之后添加这段代码,可禁止AngularJs将templateUrl缓存起来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


分享名称:AngularJs禁止模板缓存的方法
路径分享:http://bzwzjz.com/article/ppohoj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 营销型网站建设 成都响应式网站建设公司 成都响应式网站建设 网站设计公司 阿坝网站设计 响应式网站设计方案 成都网站设计 成都网站建设 定制网站建设 品牌网站建设 手机网站制作 成都网站设计 响应式网站设计 定制网站建设多少钱 成都网站设计 重庆网站设计 四川成都网站设计 成都网站设计 营销型网站建设 教育网站设计方案 四川成都网站制作 营销型网站建设