javascript – 带有Ng-repeat和静态选项卡的ui-tab

我正在尝试为日期创建标签.我还想要一个标签,点击它时会添加另一个标签.

这是我的一些代码

`<uib-tabset justified="true" class="ui-tab">
<uib-tab ng-repeat="date in dates track by $index" heading="{{date.date}}" ng-click="changeDay($index)" ui-on-drop="dropPlaceOnDate($data, $index)">
</uib-tab>
<uib-tab select="addDayToPlaylist()">
<uib-tab-heading>
<i class="glyphicon glyphicon-plus"></i>
</uib-tab-heading>
</uib-tab>
</uib-tabset>`

其中dates = {date:“someDate”,active:false}.

问题是当我在HTML中运行它时,我注意到uib-tabset的active不是设置为第一个tab选项卡索引,而是激活最后一个选项卡,即静态选项卡.

当我删除静态部分

`<uib-tab select="addDayToPlaylist()">
<uib-tab-heading>
<i class="glyphicon glyphicon-plus"></i>
</uib-tab-heading>
</uib-tab>` 

从代码中,然后它将恢复显示第一个选项卡索引.

从调试看来,它具有ng-repeat,日期为index = 1,而我的静态选项卡为index = 0.

如何在加载时使我的活动标签成为我的ng-repeat中的第一个对象.另外,我想跟踪活动索引,以便在单击静态选项卡时,它将转到index-1选项卡.

最佳答案 您可以通过在uib-tabset中添加active =“1”来选择第一个选项卡,并在uib-tab中添加index属性:

<uib-tabset justified="true" class="ui-tab" active="1">
   <uib-tab ng-repeat="date in dates track by $index" heading="{{date.date}}" 
      ng-click="changeDay($index)" ui-on-drop="dropPlaceOnDate($data, $index)" 
      index="date.index"> <!--where date.index = 1 or you can get this from your response-->
   </uib-tab>
   <uib-tab select="addDayToPlaylist()">
      <uib-tab-heading>
         <i class="glyphicon glyphicon-plus"></i>
      </uib-tab-heading>
   </uib-tab>
</uib-tabset>
点赞