8

Ich habe die eckigen Bootstrap-Registerkarten im folgenden Format. (siehe den Plotter)angular bootstrap tabs - Wählen Sie die Funktion beim Laden der Seite

Die Auswahl-Funktion soll auslösen, wenn die Registerkarten ausgewählt sind. Aber seltsamerweise wird beim Laden der Seite die Auswahlfunktion des ersten Tabs ausgelöst. (Druckt Registerkarte ausgewählt Dynamische Titel 1 onload ..)

"http://plnkr.co/edit/vyOOhCdIl7s1Wvou7Dr9?p=preview" 

angular.module('ui.bootstrap.demo', ['ui.bootstrap']); 
 
angular.module('ui.bootstrap.demo').controller('TabsDemoCtrl', function ($scope) { 
 
    $scope.tabs = [ 
 
    { title:'Dynamic Title 1', content:'Dynamic content 1' }, 
 
    { title:'Dynamic Title 2', content:'Dynamic content 2' }, 
 
    { title:'Dynamic Title 3', content:'Dynamic content 3' } 
 
    ]; 
 
    
 
    $scope.tabSelect = function(title){ 
 
    console.log("tab selected "+title); 
 
    }; 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<!doctype html> 
 
<html ng-app="ui.bootstrap.demo"> 
 
    <head> 
 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.js"></script> 
 
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.0.js"></script> 
 
    <script src="example.js"></script> 
 
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"> 
 
    </head> 
 
    <body> 
 
    <div ng-controller="TabsDemoCtrl"> 
 
     <tabset> 
 
     <tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" disable="tab.disabled" select="tabSelect(tab.title)"> 
 
      {{tab.content}} 
 
     </tab> 
 
     </tabset> 
 
    </div> 
 
    </body> 
 
</html>

+3

[ 'select() (Defaults : null): Ein optionaler Ausdruck, der aufgerufen wird, wenn die Registerkarte aktiviert ist '] (https://angular-ui.github.io/bootstrap/#/tabs), so dass es sinnvoll ist, dass beim ersten Laden die erste Registerkarte aktiviert wird und der Befehl ausgelöst wird Veranstaltung. – PSL

+0

gibt es vielleicht so, dass wir dies beim Seitenladen vermeiden können? – Sanath

+2

Durch den Quellcode von angular-ui scheint es keine Möglichkeit zu geben, dies zu spezifizieren. Sie können jedoch leicht 'var firstTime = true; $ scope.tabSelect = Funktion (Titel) { if (firstTime) { firstTime = false; Rückkehr; } console.log ("Registerkarte ausgewählt" + Titel); }; ' – miensol

Antwort

2

Änderung Ihrer wählen ng-Klick wie folgt aus:

<tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" ng-click="tabSelect(tab.title)"> 
Verwandte Themen