Проверьте, существует ли "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
}