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

Jul*_*oan 5 javascript jquery tabs angularjs angular-ui-bootstrap

我正在尝试为日期创建标签。我还想要一个选项卡,单击它会添加另一个选项卡。

这是我的一些代码

`<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>`
Run Code Online (Sandbox Code Playgroud)

其中日期 = {date: "someDate", active: false}。

问题是,当我在 HTML 中运行它时,我注意到 uib-tabset 的活动未设置为第一个选项卡索引,而是对作为静态选项卡的最后一个选项卡处于活动状态。

当我移除静态部分时

`<uib-tab select="addDayToPlaylist()">
<uib-tab-heading>
<i class="glyphicon glyphicon-plus"></i>
</uib-tab-heading>
</uib-tab>` 
Run Code Online (Sandbox Code Playgroud)

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

从调试看来,它具有日期为索引 =1 的 ng-repeat 和我的静态选项卡为索引 = 0。

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

Asa*_*hah 0

active="1"您可以通过添加inside来选择第一个选项卡uib-tabsetindex在 中添加属性uib-tab

<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>
Run Code Online (Sandbox Code Playgroud)