我有一个代码,其中包含一个带有 ng-click 的按钮,当按下它时,它将一个新选项卡添加到选项卡数组中。
<div class="btn btn-primary" ng-click="add()">Add</div>
$scope.add = function()
{
$scope.tabs.push({heading: 'new', content: 'ddddddd'});
$timeout(function ()
{
$scope.active = $scope.tabs.length;
});
}
然后,数组被填充并显示在视图中:
<uib-tabset active="active">
<uib-tab ng-repeat="tab in tabs" index="$index + 1">
<uib-tab-heading>{{ tab.heading }} - <a ng-click="remove($index)">remove</a></uib-tab-heading>
{{tab.content}}
</uib-tab>
</uib-tabset>
此外,每个选项卡都有一个调用此函数的删除链接:
$scope.remove = function(index)
{
$scope.tabs.splice(index, 1);
$scope.active = $scope.tabs.length;
}
问题是当我删除一些不是最后添加的选项卡的选项卡时,活动选项卡和索引不一样。有一个 plunkr 来演示这个问题:http ://plnkr.co/edit/02Lll7oPYyvAxcKu5GkK?p=preview如您所见,当一个选项卡(不是最后一个)被删除时,“选项卡”和“索引”变量不是相同。
请问有什么想法吗?