Где я должен использовать $templateCache?
Я хочу использовать сервис $templateCache, чтобы добавить немного html в кеш. В примере документации Angular он показывает только случай его использования в run:
var myApp = angular.module('myApp', []);
myApp.run(function($templateCache) {
$templateCache.put('templateId.html', 'This is the content of the template');
});
Тем не менее, когда я пытаюсь добавить несколько шаблонов через конфигурацию myApp, появляется ошибка инжектора. Есть ли способ использовать templateCache не в RUN?
Спасибо
2 ответа
run
правильное место для использования $templateCache
, поскольку $templateCache
это услуга, она не доступна на этапе настройки, потому что она еще не была создана. config
используется для настройки служб (например, $templateCache
) используя своих провайдеров. Вы можете вводить только поставщики config
,
Мое мнение таково, что в большинстве случаев вам не следует писать код, который $templateCache
прямо на всех. Что вы должны делать, это использовать систему сборки, такую как gulp
и плагин, такой как gulp-angular-templatecache
,
Тогда ваши шаблоны просто куча .html
файлы, ваш редактор распознает их как html и выполняет соответствующие пометки во время редактирования, и все, что вам нужно сделать, это убедиться, что ваше приложение объявляет зависимость от модуля шаблона.
Таким образом, код, который вы дали выше, станет:
var myApp = angular.module('myApp', ['myappTemplates']);
и использование $templateCache
внутри .run()
опускается до автоматически сгенерированного кода, который вы никогда не увидите.