javascript - Angular : Remove a specific template from cache

标签 javascript angularjs angular-ui-bootstrap

我知道如何从缓存中删除所有模板

$templateCache.removeAll();

但我只想从缓存中删除特定模板。 该模板不是从 $routeProvider 加载的,而是通过使用

从指令中呈现的
templateUrl: 'template/page/file.html'

我的应用结构是这样的

-web
  - js
    - controllers
       - appController.js
  - templates
    - page
      - file.html

我在 appController.js 中做了 $templateCache.remove('/templates/page/file.html');

最佳答案

$templateCache基于 $cacheFactory由于后者有一个 .remove(key),它也适用于您的 $templateCache。也许你拿错 key 了?

您可以尝试调用 .get(key) 来检查您是否拥有正确的 key (我怀疑您没有 - 这就是 .remove(key) 的原因 对你不起作用)。

也许您的模板文件的路径弄乱了 key ,相对路径可能不是实际 key ,而是完整路径或单独的文件名。

关于javascript - Angular : Remove a specific template from cache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41363836/

相关文章:

javascript - 如何重写ngFor中对象的键名

javascript - 如何用空字符串替换未定义

javascript - 如何从 JSON $http.get() 请求中删除无效字符?

javascript - uib-popover-template 未显示

angularjs - 使用 Angular ui Bootstrap 时,一个静态选项卡内用于显示第二个选项卡的按钮不起作用

javascript - 为什么 flatMap 不删除空数组?

javascript 淡入淡出/缩放效果..我做错了什么

javascript - 相同的 RegExp 返回不同的结果 - 第一次正确结果,第二次为空

javascript - 在 Echarts 中保存为图像时的图形标题

javascript - 通过 ng-controller 动态绑定(bind) Controller