我发现了一些其他人试图将ng-repeat置于ng-repeat中的问题,这似乎是可行的。但是为了完成我需要做的事情,我想我还需要将第一次ng-repeat中的插值放到第二次ng-repeat中。例如:
在:
<div class="mainDetails">
<li ng-repeat="x in mainLinks" class="{{x.id}}"><a href="{{x.link}}"><img src = "{{x.icon}}" width = "15px" height = "15px">{{x.name}}</a></li>
</div>
<div class="secondDetails">
<li ng-repeat="x in secondLinks"><a href="{{x.link}}"><img src = "{{x.icon}}" width = "15px" height = "15px">{{x.name}}</a>
</li>
</div>
<div class="thirdDetails">
<li ng-repeat="x in thirdLinks" class="{{x.id}}"><a href="{{x.link}}"><img src = "{{x.icon}}" width = "15px" height = "15px">{{x.name}}</a>
</li>
</div>
这可能有点疯狂,特别是因为我实际上已经到了第十八&#34;。
所以这就是我的想法: 后:
<div ng-repeat="x in numOfMaps" class="{{x.count}}Details">
<li ng-repeat="y in {{x.count}}Links" class="{{y.id}}"><a href="{{y.link}}"><img src="{{y.icon}}" width="15px" height="15px">{{y.name}}</a></li>
</div>
numOfMaps来自:
$scope.numOfMaps=[{
count:"main"
},{
count:"second"
},{
count:"third"
}];
然后,因为我需要更多&#34;细节&#34;我需要做的就是添加一个计数和繁荣:它也被添加到HTML中。不管怎么说,我觉得它很聪明..
该区域只是空白,没有显示任何内容。
JavaScript控制台中的错误: 错误:[$ parse:syntax] http://errors.angularjs.org/1.2.27/ $ parse / syntax?p0 = x.count&amp; p1 = is%20unexpected%2C%20expecting%20%5B%3A%5D&amp; p2 = 3&amp; p3 =%7B %7Bx.count%7D%7DLinks&安培; P4 = x.count%7D%7DLinks 在错误(本机) 在https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:6:450 at gb.throwError(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:170:252) 在gb.consume(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:171:181) 在gb.object(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:179:45) 在gb.primary(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:169:385) 在gb.unary(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:176:73) at gb.multiplicative(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:175:310) 在gb.additive(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:175:170) 在gb.relational(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:175:34) at gb.equality(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:174:400) 在gb.logicalAND(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:174:281) 在gb.logicalOR(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:174:151) 在gb.ternary(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:173:461) 在gb.assignment(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js:173:211)
答案 0 :(得分:2)
不确定我是否正确地回答了您的问题,但这是您可以尝试的:
<div ng-repeat="name in ['main', 'first', 'second']" class="{{name}}Details">
<li ng-repeat="y in this[name + 'Links']" class="{{y.id}}">
<a href="{{y.link}}">
<img src="{{y.icon}}" width="15px" height="15px">
{{y.name}}
</a>
</li>
</div>
模板表达式中的关键字this
解析为当前范围。但是这个功能是AFAIK没有记录的。因此,最好将这些数组作为控制器属性并使用controller as
syntax。