我正在使用angular&ng-ng-repeat来创建一个具有相同html格式的对象数组。然后使用表达式或ng-bind-html为对象填充值。不同的对象包含列表页面,这些页面根据id标记到上下文主体中的不同页面。问题是选项卡按钮应该带我到特定对象中的不同页面,但因为ng-repeat根据表达式/指令创建具有不同值的确切形式的副本,所以整个页面被视为一个对象和一个选项卡的id响应具有相同属性的数组中的不同对象。我正在寻找一种方法,在从数组创建每个对象后,在每个id的末尾添加一个整数,这样每个项目都将被区别对待,而不是它们都表现相同,因为代码具有完全相同的id下方。
<div class="col-md-6" data-ng-repeat="track in dashboard.items track by track.id">
<div class="panel-body">
<div class="panel-primary">
<h3 class="panel-title"><i class="icon-rocket fa-fw"></i> <span class="hidden-xs"><strong>@*Track name goes in here*@{{track.name}}</strong></span></h3>
</div>
</div>
<div id="demo3-panel" class="panel panel-blue" data-context="">
<div class="panel-in">
<div class="panel-blue pull-right">
<ul class="nav nav-tabs nav-contrast-dark" id="demo3-tabs">
<li class="active"><a href="#description1" data-toggle="tab">Description</a></li>
<li class=""><a href="//this is the id that I want to change by adding an integer to the end of the id name after each ng-repeat// moreInfo" data-toggle="tab">More Info</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Requirements<i class="fa fa-angle-down"></i></a>
<ul class="dropdown-menu dropdown-menu-right">
<li ng-repeat="course in track.courses"><a href="#{{course.name}}" data-toggle="tab">{{course.name}}</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="panel-body">
<div class="tab-content">
<div class="tab-pane fade in active" id="description1 {{course.name}}">
<br><br>
<p class="text-blue" style="text-align:center"><strong>Description:</strong></p>
<p ng-bind-html="track.description"></p>
</div>
<div class="tab-pane fade" id="moreInfo1"><br><br>
<p class="text-blue" style="text-align:center"><strong>More Information about {{track.name}}:</strong></p>
<p ng-bind-html="track.moreInformation"></p>
</div>
<div class="tab-pane fade" ng-repeat="course in track.courses" id="{{course.name}}"><br><br>
<p class="text-info" style="text-align:center"><strong>{{course.name}}:</strong></p>
<p>{{course.description}}</p>
<a href="#">Register For {{course.name}} Section</a>
</div>
</div><!-- /tab-content -->
</div><!-- /panel-body -->
<a href="track/{{track.id}}/edit" class="cmdEditButton btn btn-info">Edit</a>
</div><!-- /.panel -->
</div><!-- /.cols -->
</div><!-- /.panel -->
答案 0 :(得分:0)
对于每个ng-repeat
子范围,都会创建一组范围变量,其中一个是$index
您应该可以执行以下操作:
<a href="#tab-content-{{$index}}">
请参阅ng-repeat
文档,了解每个子范围内可用的所有变量的列表