Angularjs 选项卡';s的内容与其邻居重叠';s选项卡';内容

Angularjs 选项卡';s的内容与其邻居重叠';s选项卡';内容,angularjs,tabs,angular-ui-bootstrap,Angularjs,Tabs,Angular Ui Bootstrap,让我用下面的例子来解释这个问题: 我添加了3个选项卡,例如TAB1、TAB2和TAB3。现在,如果删除TAB2,则 其余的选项卡将是TAB1和TAB2(因为TAB3将取代TAB2) 现在)。现在,当我添加一个新选项卡(例如TAB3)时,我将看到2个选项卡的内容 同时,。一个是新创建的选项卡,另一个是新创建的选项卡 就在新创建的选项卡后面 在添加和删除选项卡时,我通过检查并检查数组的索引值来监视HTML,这些索引值变化得很好 据我所知,其原因是新添加的选项卡的content选项卡实际上得到的是静态

让我用下面的例子来解释这个问题:

我添加了3个选项卡,例如TAB1、TAB2和TAB3。现在,如果删除TAB2,则 其余的选项卡将是TAB1和TAB2(因为TAB3将取代TAB2) 现在)。现在,当我添加一个新选项卡(例如TAB3)时,我将看到2个选项卡的内容 同时,。一个是新创建的选项卡,另一个是新创建的选项卡 就在新创建的选项卡后面

在添加和删除选项卡时,我通过检查并检查数组的索引值来监视HTML,这些索引值变化得很好

据我所知,其原因是新添加的选项卡的content选项卡实际上得到的是静态的“active”类,该类不会更改。 我想是ui.bootstrap导致了这个问题

我正在使用下面的代码来创建所需的选项卡功能。 HTML代码是:

<uib-tabset active="activeForm">
    <uib-tab index="$index + 1" ng-repeat="tab in $scope.tabs" heading="{{tab.title}} {{$index+1}} " active="{{tab.active}}">
        {{tab.content}}
        <button type="button" class="btn pull-left btn-primary" ng-click="removeTab($index);">
            Delete this wave
        </button>
    </uib-tab>
    <button type="button" class="btn" ng-click="addNewTab();">
        +
    </button>
</uib-tabset>
$scope.tabs = [
    { title:'TAB'+($scope.tabs.length+1), content:'This wave of contacts will be activated before all other waves of contacts.', active:true }
];
$scope.addNewTab = function() {
    $scope.tabs.push(
    {
        title:'TAB'+($scope.tabs.length+1), content:'Content for tab new tab.'
    });
    $scope.removeTab = function(index) {
        if($scope.tabs.length>1) {
            $scope.tabs.splice(index, 1);
        }
    };
}
还有一件事,我对AngularJS和AngularUI.bootstrap都是全新的。所以,请把我当作初学者。

如果在逻辑(html)中使用$index,则必须在ng repeat中使用“track by$index”


e、 g ng repeat=“tab in$scope.tabs按$index进行跟踪”

您可以选择。现在我明白了我所缺少的。非常感谢:)