Einstellung der aktiven Registerkarte auf dynamisch erstellten Registerkarten mit Angular UI Bootstrap

Habe ich eine dynamische tabset erzeugt, dass der Registerkarten aus einem array beginnt aus leer. Wenn ich ein neues Element hinzufügen, um das Feld es erscheint eine neue Registerkarte. Ich will, dass die zuletzt hinzugefügten Registerkarte, um die aktiven. Ich den aktiven index jedes mal, wenn ich ein Element Hinzugefügt, um das array

HTML:

<uib-tabset active="activeTabIndex">
    <uib-tab ng-repeat="tab in tabs" heading="{{tab.title}}">Some content</uib-tab>
</uib-tabset>

JavaScript:

$scope.activeTabIndex = 0
$scope.tabs = [];

$scope.addTab = function() {
    var newTab = {  title: 'Tab ' + ($scope.tabs.length + 1) };
    $scope.tabs.push(newTab); 
    $scope.activeTabIndex = ($scope.tabs.length - 1);
    console.log($scope.activeTabIndex);
};

Hier ist das Zupfen für den vollständigen source-code der demo: https://plnkr.co/edit/TX6ek4R62AfM2zUXcoC3?p=preview

Das problem ist, es scheint zu funktionieren, bei einer ungeraden Anzahl von tabs nur. Hier ist, was ich meine:

Beim erstmaligen laden sieht es so aus:

Einstellung der aktiven Registerkarte auf dynamisch erstellten Registerkarten mit Angular UI Bootstrap

Nachdem ich eine neue Registerkarte hinzuzufügen, es zeigt die aktiven richtig:

Einstellung der aktiven Registerkarte auf dynamisch erstellten Registerkarten mit Angular UI Bootstrap

Wenn ich ein weiteres nichts wird ausgewählt, und activeTabIndex variable wird nicht definiert:

Einstellung der aktiven Registerkarte auf dynamisch erstellten Registerkarten mit Angular UI Bootstrap

Und auf der 3. es beginnt wieder zu arbeiten:

Einstellung der aktiven Registerkarte auf dynamisch erstellten Registerkarten mit Angular UI Bootstrap

So für noch aktive index-zahlen (0, 2) funktioniert es einwandfrei. Aber irgendwie statt der Active-Index: 1 es leer anzeigt und nicht die aktive Registerkarte. Ich Schreibe die variable auf der Konsole und es zeigt alle Werte korrekt an.

Jede Hilfe/Zeiger/Ideen sind willkommen.

Dank.

Schreibe einen Kommentar