因为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缓存起来。
相关推荐:
ECSHOP时尚化妆品商城网站整站系统,基于ECSHOP2.7.3UTF-8版本制作,适合服装,首饰等商城网店使用。 安装方法:1. 下载程序后,删除data目录下的install.lock文件。2.访问:域名/install 按照提示进行安装.3.安装完成后,登陆网站后台---还原数据库4.还原后.模板管理---选择男装模板5.清空缓存6.修改管理员密码.还原数据后,后台信息:用户名:admin









