AngularJs 禁止模板缓存的方法
程序员文章站
2022-04-10 14:30:15
...
因为AngularJs的特性(or 浏览器本身的缓存?),angular默认的HTML模板加载都会被缓存起来。导致每次修改完模板之后都得经常需要清除浏览器的缓存来保证浏览器去获得最新的html模板,自己测试还好,但如果更新了服务器的模板内容,用户可不会每个都配合你去清除浏览器的缓存。故这还真是个大问题。本文我们主要介绍AngularJs 禁止模板缓存的方法。
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缓存起来。
相关推荐:
以上就是AngularJs 禁止模板缓存的方法的详细内容,更多请关注其它相关文章!
上一篇: js实现随机数字字母验证码实例代码
下一篇: 初次接触Nginx
推荐阅读
-
Android实现EditText控件禁止输入内容的方法(附测试demo)
-
PHP、Nginx、Apache中禁止网页被iframe引用的方法
-
Symfony实现行为和模板中取得request参数的方法
-
在Django的模板中使用认证数据的方法
-
spring boot使用properties定义短信模板的方法教程
-
Laravel使用Caching缓存数据减轻数据库查询压力的方法
-
让CodeIgniter数据库缓存自动过期的处理的方法
-
CodeIgniter启用缓存和清除缓存的方法
-
Codeigniter中禁止A Database Error Occurred错误提示的方法
-
详解在Python的Django框架中创建模板库的方法