Browser does not detect changes in AngularJS

混江龙づ霸主 提交于 2019-12-11 10:15:34

问题


Im developing an AngularJS application using IDE WebStorm and Safari browser.

Everything has worked perfectly so far, but I recently encapsulated some HTLM in a template that I use via a directive:

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

I "call" the directive the normal way, nothing fancy <reference-value></reference-value>

When I edit the reference.html the browser only detects the changes in the first edit.. If I edit reference.html a second time and update the browser then the change is not detected. If I restart the browser the change is detected again. So I basically need to restart my browser each time I want to debug the HTML code. Changes in the Controller is detected at every edit.

Can anyone tell me how to fix this error?


回答1:


Your template is being cached. There are a couple of work arounds. Either use Chrome's dev tools to disable cache when the dev tools is open, or use the $templateCache.remove() in your application.

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

Find more info on removing the template cache here.




回答2:


If you are using google chrome press CTRL+SHIF+J and on the network tab check 'Disable Cache'

Hope it helps



来源:https://stackoverflow.com/questions/33040730/browser-does-not-detect-changes-in-angularjs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!