Где я должен использовать $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() опускается до автоматически сгенерированного кода, который вы никогда не увидите.

Другие вопросы по тегам