2016-03-21 3 views
0

Я пытаюсь реализовать раскрывающееся меню Bootstrap в nav bar в приложении Aurelia. Я использую довольно стандартный код Bootstrap, в этом нет ничего необычного.Aurelia/Bootstrap: создание выпадающего меню в навигационной панели при маршрутизации

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
    <ul class="nav navbar-nav"> 
    ... 
    <li class="dropdown"> 
     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> 
     Artists 
     </a> 
     <ul class="dropdown-menu"> 
     <li><a href="#/artists">All</a></li> 
     <li><a href="#/artists/incomplete">Incomplete</a></li> 
     </ul> 
    </li> 
    ... 
    </ul> 
</div> 

Проблема: href="#" в элементе заголовка меню. У меня есть маршрутизатор и маршрут для #. Когда я нажимаю на ссылку, она переходит к этому маршруту. Никакого большого удивления, но это явно не то, что я хочу сделать; Я хочу отобразить мое раскрывающееся меню.

Я не знаю, что делать здесь. href="" заставляет приложение обновляться. Ввод фальшивого маршрута там вызывает ошибку со стороны JavaScript и все еще не отображает меню.

+0

Что вы имели в виду под «У меня есть маршрутизатор для' # '"? Ваш код отлично подходит для меня –

+0

Вот мой app.js: export class App { configureRouter (config, router) { config.title = 'Song Charts'; config.map ([ {route: ['', 'welcome'], имя: 'welcome', moduleId: 'welcome', title: 'Welcome'}, {route: 'artist', name: 'artist ', moduleId:' artist ', название:' Художники '}, {route:' artist/incomplete ', имя:' неполные артисты ', moduleId:' неполные артисты ', название:' Незавершенные исполнители '}, ... this.router = маршрутизатор;... } } –

+0

Вы можете использовать другой элемент, чем а, и не используют в href' атрибута ' – kabaehr

ответ

1

Добавить:

import 'bootstrap'; 

в основной файл.

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