AngularJs 禁止模板缓存的方法


Posted in Javascript onNovember 28, 2017

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

因为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缓存起来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
FireBug 调试JS入门教程 如何调试JS
Dec 23 Javascript
js定时调用方法成功后并停止调用示例
Apr 08 Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 Javascript
jQuery实现行文字链接提示效果的方法
Mar 10 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
深入理解js数组的sort排序
May 28 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
Angular弹出模态框的两种方式
Oct 19 Javascript
详解JavaScript 为什么要有 Symbol 类型?
Apr 03 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
May 06 Javascript
微信小程序返回箭头跳转到指定页面实例解析
Oct 08 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 #Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 #Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 #Javascript
Vue实现web分页组件详解
Nov 28 #Javascript
基于vue2实现左滑删除功能
Nov 28 #Javascript
JavaScript生成简单等差数列
Nov 28 #Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 #Javascript
You might like
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
浅谈PHP封装CURL
2019/03/06 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
jQuery中map()方法用法实例
2015/01/06 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
Vue实现购物车功能
2017/04/27 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
python获取当前计算机cpu数量的方法
2015/04/18 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
C#基础面试题
2016/10/17 面试题
大学旷课检讨书
2014/01/28 职场文书
小学语文教学反思
2014/02/10 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
新党章心得体会
2014/09/04 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
介绍信如何写
2015/01/31 职场文书
2016年国培研修日志
2015/11/13 职场文书
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers