check if "text/ng-template" exists

4.2k Views Asked by At

I am writing a little tool for which i need to check if a certain ng-template is defined. All my templates are defined like this:

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

So checking if the file exists via $http won't work for me. How can i check if said template was defined? The only option i see so far is checking the DOM:

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

... but i'd realy love a better solution that does not need to check the DOM.

1

There are 1 best solutions below

2
On BEST ANSWER

Script directive puts template content in $templateCache (source ref.) if it's a template. It means that you should be able to check if template exists by checking its presence in the cache:

if ($templateCache.get('example.html')) {
    // template is on the page
}