好的,所以我正在使用 ng-include 和 ng-repeat 在 AngularJS 中创建一个递归列表,如下所示:
<div id="wrapper">
<div id="text" ng-click="DivClick()">
<ul>
<li id="{{$index}}" ng-repeat="data in layer" ng-include="'recursion.html'"></li>
</ul>
</div>
<script type="text/ng-template" id="recursion.html">
<textarea myd-keypress cols="63" rows="1">{{data.content}}</textarea>
<input type="text" myd-numbers value="{{data.price}}"></input>
<ul>
<li ng-repeat="data in data.layer" ng-include="'recursion.html'" id="{{$parent.$attr('id') + '-' + $index}}"></li>
</ul>
但是,当然,它不起作用。所以基本上我需要的是 dom 中的每个 <li> 元素都有对应的 id,如下所示:
0
1
1-0
1-1
1-1-0
1-2
1-3
2
2-0
这样每个新的 <li> 的 id 都等于“其父级的 id”+“-$index”。我知道这将起作用的是 scope.layer[] 及其图层后代包含一个字段,该字段将保存 < li> 的 ID 并显示它,但我想避免在数据库中保存该额外字段,因为解决方案是非常简单(如示例所示),但我无法克服语法。有什么建议么?