Я пытаюсь реализовать раскрывающееся меню 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 и все еще не отображает меню.
Что вы имели в виду под «У меня есть маршрутизатор для' # '"? Ваш код отлично подходит для меня –
Вот мой 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 = маршрутизатор;... } } –
Вы можете использовать другой элемент, чем а, и не используют в href' атрибута ' – kabaehr