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 相关文章推荐
JavaScript动态修改网页元素内容的方法
Mar 21 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
更高效的使用JQuery 这里总结了8个小技巧
Apr 13 Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 Javascript
一个超简单的jQuery回调函数例子(分享)
Aug 08 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
jQuery中过滤器的基本用法示例
Oct 11 jQuery
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
Apr 08 Javascript
vue实现弹幕功能
Oct 25 Javascript
分享一个vue实现的记事本功能案例
Apr 11 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
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
使用Python进行QQ批量登录的实例代码
2018/06/11 Python
python批量下载抖音视频
2019/06/17 Python
Python sorted排序方法如何实现
2020/03/31 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
财务会计专业应届毕业生求职信
2013/10/18 职场文书
洗发露广告词
2014/03/14 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
北京颐和园导游词
2015/01/30 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL