我想在嵌套的ng-repeats中增加如下:
<div ng-repeat="arr in extension.providers">
<div id="pos{{++providerId}}"
ng-repeat="provider in arr track by provider.id">
</div>
</div>
哪里
$scope.providerId = 0;
但我收到错误
Error: [$parse:syntax] Syntax Error: Token '+' not a primary expression at column 11 of the expression ['pos' + (providerId++)] starting at [+providerId)].
我尝试在函数中写增量,就像在answer中一样,但是得到的id就像“pos398”,“pos400”等。
如何在网页上生成ID?
答案 0 :(得分:3)
如果您使用ng-repeat
生成div
元素,我假设您只需使用循环的$index
生成ID。
在您的情况下,您已嵌套ng-repeat
,因此如果您想访问父$index
:
<div ng-repeat="arr in extension.providers">
<div ng-repeat="provider in arr track by provider.id" id="pos{{$parent.$index}}">
</div>
</div>
或者你只需使用$index
,就像这个plunkr所证明的那样:
答案 1 :(得分:0)
我的问题的答案:
<div ng-repeat="arr in extension.providers" ng-init="topIndex = $index">
<div id="pos{{topIndex.toString() + $index.toString()}}"
ng-repeat="provider in arr track by provider.id">
</div>
</div>
结果,我得到了像pos00,pos01,pos10,pos11 ......这样的唯一身份证。
感谢Chrillewoodz和Beyers的帮助。