我正在编写一个小工具,我需要检查是否定义了某个ng模板。我所有的模板都是这样定义的:
<script type="text/ng-template" id="example.html">...</script>
因此,通过$http检查文件是否存在对我不起作用。如何检查是否定义了所述模板?到目前为止,我看到的唯一选择是检查 DOM:
if(angular.element.find('script#example.html').length > 0) { ...
。但我真的很喜欢一个不需要检查 DOM 的更好解决方案。
脚本
指令将模板内容放在$templateCache(源引用)中,如果它是一个模板。这意味着您应该能够通过检查模板在缓存中的存在来检查模板是否存在:
if ($templateCache.get('example.html')) {
// template is on the page
}