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实现图片翻页效果
Dec 23 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
Jun 14 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
深入理解JavaScript 参数按值传递
May 24 Javascript
gulp教程_从入门到项目中快速上手使用方法
Sep 14 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
微信小程序登录时如何获取input框中的内容
Dec 04 Javascript
vue-cropper组件实现图片切割上传
May 27 Vue.js
微信小程序自定义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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
php将html转为图片的实现方法
2017/05/19 PHP
简单JS代码压缩器
2006/10/12 Javascript
如何用javascript控制上传文件的大小
2006/10/26 Javascript
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
python实现自动重启本程序的方法
2015/07/09 Python
python3音乐播放器简单实现代码
2020/04/20 Python
Python实现简单的四则运算计算器
2016/11/02 Python
Python分治法定义与应用实例详解
2017/07/28 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
python使用建议与技巧分享(二)
2020/08/17 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
初二政治教学反思
2014/01/12 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
MySQL 语句执行顺序举例解析
2022/06/05 MySQL