AngularJs 禁止模板缓存的方法
本文介绍了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缓存起来。
相关推荐
学习web前端 2020-11-09
天空一样的蔚蓝 2020-10-23
curiousL 2020-08-03
sochrome 2020-07-29
SoarFly00 2020-06-28
LeoHan 2020-06-02
GimmeS 2020-05-15
逸璞丷昊 2020-03-08
DAV数据库 2020-05-07
Vampor 2020-05-01
ROES 2020-04-22
lifeforbug 2020-03-18
zhangwentaohh 2020-03-04
Freshairx 2020-11-10
liuyuchen 2020-10-27
chenhaimeimeng 2020-08-15
东哥笔记 2020-08-14
幸运小侯子 2020-08-14
vanturman 2020-08-01
shawls 2020-07-29
buaichidoufu 2020-07-28
guoyun0 2020-07-19
LinuxJob 2020-06-26
韩学敏 2020-06-17