Directive的templateUrl引用div而不是整个HTML

时间:2014-10-30 10:18:18

标签: angularjs

我有一个弹出窗口/对话框列表(包含在div中),我希望将其放在一个HTML文件中,并从那里引用代表这些弹出窗口的不同指令。据我所知,AngularJS指令的templateUrl通常引用一个HTML文件。是否可以在HTML中为templateUrl引用单个div?如果是,怎么做?

2 个答案:

答案 0 :(得分:0)

如果模板片段很小,您可以使用template:参数而不是templateUrl:从JS中引用它们。但是,在我的项目中,我通过templateUrl引用所有模板部分,并使用grunt任务将所有单个HTML文件预加载到一个Javascript文件中,然后由Angular加载到模板缓存中。您可以阅读更多相关信息here

答案 1 :(得分:0)

您可以执行以下操作:

将div添加为<script>并添加属性type="text/ng-template"id="",然后在设置templateUrl:时,传递{{1}来自脚本元素。

示例:

HTML:

id

指令:

<script type="text/ng-template" id="template/awesomeDiv.html"> <div> (...) </div> </script>

注意: 为了使用它,您需要有嵌套指令,因此父指令包含所有templateUrl: 'template/awesomeDiv.html'的HTML,并且子项使用div&#39; d ng-template s