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 相关文章推荐
jquery表单验证使用插件formValidator
Nov 10 Javascript
使表格的标题列可左右拉伸jquery插件封装
Nov 24 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
Sep 13 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 Javascript
JS表单传值和URL编码转换
Mar 03 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
jQuery滑动效果实现方法分析
Sep 05 jQuery
浅谈React碰到v-if
Nov 04 Javascript
js中的reduce()函数讲解
Jan 18 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
JavaScript事件列表解说
2006/12/22 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
jQuery获得指定元素坐标的方法
2015/04/14 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python简单实现Base64编码和解码的方法
2017/04/29 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
python 对象和json互相转换方法
2018/03/22 Python
python中cPickle类使用方法详解
2018/08/27 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
python语言是免费还是收费的?
2020/06/15 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
C#笔试题集合
2013/06/21 面试题
护士长竞聘书
2014/03/31 职场文书
电影地道战观后感
2015/06/04 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
高三毕业感言
2015/07/30 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
Minikube搭建Kubernetes集群
2022/03/31 Servers