Проверьте, существует ли "text/ng-template"

Я пишу небольшой инструмент, для которого мне нужно проверить, определен ли определенный шаблон ng. Все мои шаблоны определены так:

<script type="text/ng-template" id="example.html">...</script>

Поэтому проверка, существует ли файл через $http, для меня не сработает. Как я могу проверить, был ли указанный шаблон определен? Единственный вариант, который я пока вижу, это проверка DOM:

if(angular.element.find('script#example.html').length > 0) { ...

... но я бы очень хотел лучшего решения, которое не нужно проверять DOM.

1 ответ

Решение

Директива Script помещает содержимое шаблона в $ templateCache ( ссылка на источник), если это шаблон. Это означает, что вы должны быть в состоянии проверить, существует ли шаблон, проверив его наличие в кэше:

if ($templateCache.get('example.html')) {
    // template is on the page
}
Другие вопросы по тегам