templateCaching на uibmodal
Я работал некоторое время, чтобы заставить мое приложение работать, когда пользователь выходит из сети. Я использовал $ http и templateCache для кэширования своих шаблонов, что нормально. Но одной проблемой, которую я не могу решить "хорошим" способом, является $ uibmodal. Я кешировал шаблон
$http.get('tpl/modal.html', {cache:$templateCache});
и изменил контроллер, чтобы получить шаблон из кэша вместо templateUrl при открытии модального.
templateUrl: 'tpl/modal.html' //before
template: $templateCache.get('tpl/modal.html') //after
Проблема здесь в том, что я получаю "статус 200" поверх моего шаблона. И "ОК" на дне. Это самое близкое решение, которое я могу принять, хотя я чувствую, что это "взлом". Это лучший способ сделать это? если не; Как я могу удалить код состояния в моем текущем решении?
1 ответ
Согласно документации, если шаблон уже загружен в $ templateCache, вам не нужно настраивать параметры вашей директивы. Вы должны быть в состоянии использовать свой существующий
templateUrl: 'tpl/modal.html'
AngularJS сначала проверит существующий кеш шаблонов и оттуда отработает, если он существует, и загрузит его по сети в качестве запасного варианта.
Лично я использую плагин grunt для компиляции, минимизации и предварительной загрузки всех моих шаблонов. Когда я реализовал это, мне не нужно было ничего менять в моих существующих директивах / компонентах.