2014-09-28 15 views
6

ich die JavaScript Bootstrap 3 Tabs bin mit so dokumentiert, wie folgt aus:AngularJS mit Bootstrap Tabs in Konflikt

<!-- Nav tabs --> 
<ul class="nav nav-tabs" role="tablist"> 
    <li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li> 
    <li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li> 
    <li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li> 
    <li><a href="#settings" role="tab" data-toggle="tab">Settings</a></li> 
</ul> 

<!-- Tab panes --> 
<div class="tab-content"> 
    <div class="tab-pane active" id="home">...</div> 
    <div class="tab-pane" id="profile">...</div> 
    <div class="tab-pane" id="messages">...</div> 
    <div class="tab-pane" id="settings">...</div> 
</div> 

Aber mit kantigem, es ändert sich die URL zu/#/profile zum Beispiel ..

Wie kann ich das verhindern?

+0

Verwenden Sie Angulars Routing? –

+0

ja, routeProvider –

+2

Nebenfrage: Wenn Sie Angular verwenden und Sie auch Bootstrap verwenden, warum verwenden Sie nicht eckige Bootstrap (http://angular-ui.github.io/bootstrap/)? – Blaskovicz

Antwort

7

An einem Punkt, wenn ein Link das Attribut _target festgelegt hatte, würde eckig diese Klicks nicht abfangen. Vielleicht wird das in diesem Fall funktionieren?

+0

Arbeitete Antwort wird in 5 Minuten akzeptiert. –

+0

adding target = "_ self" hat perfekt funktioniert. Danke –

+0

schrecklich, aber es funktioniert! –

19

Setzen Sie einfach data-target anstelle von href Attribut und es funktioniert, ohne Urls zu ändern.

+0

Ich hatte bei der Arbeit mit einem Wordpress-Thema ein ähnliches Problem. Ich benutzte href für die Navigation mit Tabs mit Bootstrap. Diese Antwort hat mir geholfen.Ich habe href in data-target geändert und es hat die Tabbed Navigation funktioniert. Funktioniert wie Charm .. –

+0

Angular fing die #Refs ab, die ich auf meinen Bootstrap-Nav-Tabs gesetzt hatte. Das href-Attribut in Datenziel zu ändern hat es für mich behoben! Danke mgalic! (obwohl es mich nur ein bisschen bugs, dass jetzt habe ich Tags ohne href Attribute:/oh gut) – Jupo

+4

Große Lösung. @Jupo: Wenn Sie die hrefs dort haben möchten, damit der Mauscursor das korrekte Stylen hat, können Sie noch. Legen Sie einfach einen leeren Wert für href fest und verwenden Sie dann das Datenziel, um die eigentliche Navigation durchzuführen. Weitere Informationen finden Sie unter https://docs.angularjs.org/api/ng/directive/a. – pbuchheit