2015-10-09 2 views
1

Im разрабатывает приложение AngularJS, используя браузер 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. Изменения в контроллере обнаруживаются при каждом редактировании.

Может ли кто-нибудь сказать мне, как исправить эту ошибку?

+1

Открыть консоль браузера (F12) -> нажать верхнюю правую шестерню (Настройки) -> Проверить «Отключить кеш (пока DevTools открыт)». Оставьте консоль открытой во время отладки. – AndreiC

ответ

1

Вашего шаблона кэшируется. Есть несколько рабочих мест. Либо используйте инструменты разработчика Chrome, чтобы отключить кеш при открытии инструментов dev, либо используйте $templateCache.remove() в своем приложении.

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

Найти больше информации о удалении кэша шаблона here.

+0

Вопрос о кеше. Когда я удаляю кеш, он работает снова. Спасибо за совет. К сожалению, я использую Safari, поэтому $ templateCache.removeAll(); не работает. – Vingtoft

+1

'$ templateCache.removeAll()' является угловым, а не специфичным для браузера. Метод отключения кэша инструментальных средств Dev специфичен для браузера, но инструменты Safari dev также имеют возможность отключать кеш в разделе «Разработка -> Отключить кеш». Надеюсь, это поможет. –

1

Если вы используете Google Chrome нажмите Ctrl + Шиф + J и на вкладке Сети проверки «Отключить кэш»

Надеется, что это помогает