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 相关文章推荐
ext中store.load跟store.reload的区别示例介绍
Jun 17 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
js实现select二级联动下拉菜单
Apr 17 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
浅谈js数组和splice的用法
Dec 04 Javascript
详谈js中数组(array)和对象(object)的区别
Feb 27 Javascript
BootStrap的两种模态框方式
May 10 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
JS代码优化的8点建议
Feb 04 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
微前端qiankun改造日渐庞大的项目教程
Jun 21 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开发文件系统实例讲解
2006/10/09 PHP
处理单名多值表单的详解
2013/06/08 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
用PHP来计算某个目录大小的方法
2014/04/01 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
讲解Python中运算符使用时的优先级
2015/05/14 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
python关于调用函数外的变量实例
2019/12/26 Python
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
街道务虚会发言材料
2014/10/20 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang