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