我有以下代码(jade)
script(type="text/ng-template" id="carousel.html")
include carousel.html
其中carousel.html具有递归嵌套列表:
<ul>
<li ng-repeat="step in steps">
{{step}}
<ul ng-include="'substeps'"></ul>
</li>
</ul>
其中substeps为:
<script type="text/ng-template" id="substeps">
<li ng-repeat="step in step.substeps>
{{step}}
<ul ng-include="'substeps'"></ul>
</li>
</script>
基本上只要有子步骤,ng-repeat就会将它们作为嵌套列表添加。这适用于除IE8以外的所有浏览器。有什么我忽略了的吗?也许是IE8中ng-template的bug ?
我使用Jade来包含carousel的事实掩盖了我创建了嵌套脚本标记的事实。子步骤ng-template位于carousel.html模板中。显然,Chrome可以接受这一点,而IE8(也许其他我没有检查)不能接受这一点,因为它是无效的HTML。将substeps模板移出carousel.html修复了这个问题