Angularjs 指令';s templateUrl引用div而不是整个HTML
我有一个弹出窗口/对话框列表(包含在Angularjs 指令';s templateUrl引用div而不是整个HTML,angularjs,Angularjs,我有一个弹出窗口/对话框列表(包含在divs中),我想将它们放在一个HTML文件中,并从中引用代表这些弹出窗口的不同指令。据我所知,AngularJS指令的templateUrl通常引用HTML文件。是否可以在HTML中为templateUrl引用单个div?如果是,怎么做?如果模板片段很小,可以使用模板:参数而不是模板URL:从JS中引用它们。但是,在我的项目中,我通过templateUrl引用所有模板部分,并使用grunt任务将所有单个HTML文件预加载到一个Javascript文件中,然后
div
s中),我想将它们放在一个HTML文件中,并从中引用代表这些弹出窗口的不同指令。据我所知,AngularJS指令的templateUrl通常引用HTML文件。是否可以在HTML中为templateUrl引用单个div?如果是,怎么做?如果模板片段很小,可以使用模板:
参数而不是模板URL:
从JS中引用它们。但是,在我的项目中,我通过templateUrl
引用所有模板部分,并使用grunt任务将所有单个HTML文件预加载到一个Javascript文件中,然后由Angular加载到模板缓存中。您可以阅读更多信息。您可以执行以下操作:
将div添加为
,并添加属性type=“text/ng template”
和id=”“
,然后在设置templateUrl:
时,从脚本元素传递id
例如:
HTML:
<script type="text/ng-template" id="template/awesomeDiv.html">
<div>
(...)
</div>
</script>
(...)
指令:
templateUrl:'template/awesomeDiv.html'
注意:
为了使用它,您需要有嵌套的指令,因此父指令包括HTML和所有
div
s,孩子们使用ng template
'ddiv
s为什么不使用template:
参数而不是templateUrl:
?@MichelTome我知道我可以使用template:
,但为了“干净”,我还想将我的许多弹出窗口放在一个HTML文件中。如果不可能,我还是使用模板:
。请查看我的答案,然后再了解其他解决方案。