Réglage de l'onglet actif sur de créer dynamiquement des onglets Angulaire UI Bootstrap

J'ai une dynamique tabset qui génère les onglets à partir d'un tableau qui commence à blanc. Quand j'ajoute un nouvel élément au tableau, il apparaît comme un nouvel onglet. Je veux le dernier onglet à être active. J'ai mis l'index actif à chaque fois que j'ajoute un élément dans le tableau

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);
};

Voici la Débarquez pour la totalité du code source de la démo: https://plnkr.co/edit/TX6ek4R62AfM2zUXcoC3?p=preview

Le problème est qu'il semble être de travailler avec un nombre impair d'onglets. Voici ce que je veux dire:

Sur chargement initial, il ressemble à ceci:

Réglage de l'onglet actif sur de créer dynamiquement des onglets Angulaire UI Bootstrap

Après je ajouter un nouvel onglet, il montre de l'actif correctement:

Réglage de l'onglet actif sur de créer dynamiquement des onglets Angulaire UI Bootstrap

Quand j'ajoute un autre, rien n'est sélectionné et activeTabIndex variable devient indéfini:

Réglage de l'onglet actif sur de créer dynamiquement des onglets Angulaire UI Bootstrap

Et sur la 3ème, il commence à travailler de nouveau:

Réglage de l'onglet actif sur de créer dynamiquement des onglets Angulaire UI Bootstrap

Donc pour le même actif numéros d'index (0, 2), il fonctionne très bien. Mais de toute façon au lieu de Acitve Index: 1, il montre vide et ne définit pas l'onglet actif. Je vous écris de la variable de la console et il affiche toutes les valeurs correctement.

Toute aide/pointeurs/les idées sont les bienvenues.

Grâce.

OriginalL'auteur Volkan Paksoy | 2016-04-05