J'utilise ui-tab
dans mon application angular
. J'ai 2 onglets (tab1 et tab2) et je veux mettre tab1 comme l'actif par programmation quand un bouton dans la tab2.angulaire-ui-tabset: modifier le contenu de l'onglet actif
Ceci est mon code html:
<uib-tabset active="active" justified="true">
<uib-tab id="tab1" index="0" heading="Tab 1" ng-click="active= 0">
<!-- content1 -->
</uib-tab>
<uib-tab id="tab2" index="1" heading="Tab 2" ng-click="active= 1">
<!-- content2 -->
<button ng-click="goToTab1()"> Go to tab 1</button>
</uib-tab>
</uib-tabset>
Et ceci est la mise en œuvre goToTab1()
:
$scope.goToTab1 = function() {
angular.element(document.querySelector("#tab1")).removeClass("active");
angular.element(document.querySelector("#tab2")).addClass("active");
}
Mon problème:
Lorsque je clique sur le bouton (dans le tab2) le tab1 est sélectionné mais le contenu affiché reste le contenu de tab2. Aussi quand après je clique sur l'onglet 2, rien n'est arrivé jusqu'à ce que je clique sur l'onglet 1 de plus alors si je clique sur l'onglet 2 cela fonctionne.
Modifier
J'ai déjà essayé la solution dans ce issue, mais je reçois le même problème. Aussi quand je change la valeur active directement dans le ng-click
, il n'a pas d'effet du tout
<button ng-click="active = 0"> Go to tab 1</button>
https://stackoverflow.com/questions/39860391/angular-ui-bootstrap-tabs- cant-change-tabs-with-a-button-inside-a-tab – svarog
Copie possible de [Onglets d'amorçage de l'interface utilisateur angulaire - Impossible de changer les onglets avec un bouton dans un onglet] (https://stackoverflow.com/questions/ 39860391/angular-ui-bootstrap-tabs-cant-change-tabs-with-a-button-inside-a-tab) – svarog
@svarog J'ai essayé la réponse dans le numéro que vous m'avez donné mais cela ne fonctionne pas –