这个问题AngularJS disable partial caching on dev machine建议使用
根据标题问题,有没有推荐的方法可以“一次性”清除$templateCache,例如我考虑过的一些想法:
我能看到的替代方案就是手动添加和删除removeAll()代码,但那很愚蠢。
$templateCache.removeAll()
来清除缓存模板。但是,如果您只想在每次部署周期中触发一次以使访问者浏览器刷新/更新模板,该怎么办呢?我们的问题是一些浏览器没有更新模板html文件,导致新CSS与旧HTML混合。我不希望这个函数一直运行,这将从一开始就失去了缓存模板的意义(对吗?)。根据标题问题,有没有推荐的方法可以“一次性”清除$templateCache,例如我考虑过的一些想法:
- Angular是否有内部方法来检测模板文件是否已更改?如果是,则“更新”它。
- Angular是否具有内部“版本”或“日期”,我们可以进行比较并添加条件以触发removeAll()函数?
- $templateCache是否会自己知道何时刷新?Angular创建者在强制我们使用templateCache时,HTML文件随时间而变化并提供给多个浏览器,他们的意图是什么。
我能看到的替代方案就是手动添加和删除removeAll()代码,但那很愚蠢。