3

我正在编写一个小工具,我需要检查是否定义了某个 ng-template。我所有的模板都是这样定义的:

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

因此,通过 $http 检查文件是否存在对我不起作用。我如何检查是否定义了所述模板?到目前为止我看到的唯一选择是检查 DOM:

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

...但我真的很喜欢不需要检查 DOM 的更好的解决方案。

4

1 回答 1

8

如果它是一个模板,脚本指令将模板内容放在$templateCache (source ref. ) 中。这意味着您应该能够通过检查其在缓存中的存在来检查模板是否存在:

if ($templateCache.get('example.html')) {
    // template is on the page
}
于 2015-04-28T09:44:59.133 回答