2014-09-28 5 views
6

Я использую вкладки JavaScript Bootstrap 3 как описан, как это:AngularJS конфликтующего с Bootstrap закладками

<!-- 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> 

Но с Угловым, этим изменением URL в/#/профиль, например ..

Как я могу предотвратить это?

+0

Вы используете маршрутизацию Angular? –

+0

yes, routeProvider –

+2

Боковой вопрос: если вы используете Angular, и вы также используете bootstrap, почему бы вам не использовать угловой бутстрап (http://angular-ui.github.io/bootstrap/)? – Blaskovicz

ответ

7

В какой-то момент, если ссылка имела набор атрибутов _target, угловые не перехватывали бы эти клики. Может быть, это будет работать в этом случае?

+0

Работает, примет ответ за 5 минут. –

+0

добавление target = "_ self" отлично работало. Спасибо –

+0

ужасно, но он работает! –

19

Просто введите data-target вместо атрибута href и он будет работать без изменения URL-адресов.

+0

Я столкнулся с аналогичной проблемой, работая с темой wordpress. Я использовал href для навигации с вкладками, используя bootstrap. Этот ответ помог мне. Я изменил href на целевой объект данных, и он активировал работу с вкладками. Работает как шарм. –

+0

Угловая была перехвата #hrefs, которую я установил на своих загрузочных навигационных вкладках. Изменение атрибута href для цели данных зафиксировало это для меня! спасибо mgalic! (хотя это меня немного беспокоит, что теперь у меня есть тегов без атрибутов href:/oh well) – Jupo

+4

Отличное решение. @Jupo: Если вы хотите иметь hrefs там, чтобы курсор мыши имел правильный стиль, вы все еще можете. Просто установите пустое значение для href, а затем используйте цель данных для фактической навигации. Дополнительную информацию см. На странице https://docs.angularjs.org/api/ng/directive/a. – pbuchheit

Смежные вопросы