1

我正在使用 IDE WebStorm 和 Safari 浏览器开发 AngularJS 应用程序。

到目前为止,一切都运行良好,但我最近将一些 HTLM 封装在一个模板中,我通过指令使用它:

 .directive('referenceValue', [function ($scope) {
    return {
        restrict: 'E',
        templateUrl: "views/citizenprofile/reference/reference.html",
        controller: "referenceValueCtrl"
    }
}])

我以正常方式“调用”指令,没什么特别的<reference-value></reference-value>

当我编辑 reference.html 时,浏览器仅检测到第一次编辑中的更改。. 如果我再次编辑 reference.html 并更新浏览器,则不会检测到更改。如果我重新启动浏览器,则会再次检测到更改。所以我基本上每次要调试 HTML 代码时都需要重新启动浏览器。每次编辑时都会检测到控制器中的更改。

谁能告诉我如何解决这个错误?

4

2 回答 2

2

您的模板正在被缓存。有几个解决方法。在开发工具打开时使用 Chrome 的开发工具禁用缓存,或者$templateCache.remove()在您的应用程序中使用。

app.run(function($rootScope, $templateCache) {
   $rootScope.$on('$viewContentLoaded', function() {
      $templateCache.removeAll();
   });
});

在此处查找有关删除模板缓存的更多信息。

于 2015-10-09T14:30:18.713 回答
1

如果您使用的是谷歌浏览器,请按 CTRL+SHIF+J 并在网络选项卡上选中“禁用缓存”

希望能帮助到你

于 2015-10-09T14:28:34.923 回答