Я работаю над проектом, который использует Angularjs и Twitter Bootstrap.
Bootstrap использует # для переключения компонентов, таких как popover, modal и т.д. например:
<a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
Проблема заключается в том, когда я нажимаю кнопку с таким атрибутом href, это вызывает полную перезагрузку страницы, а это значит, что все на текущей странице потеряно. Есть ли способ предотвратить это?
дополнительная информация:
когда я нажимаю кнопку, URL-адрес странный. например, мой текущий URL-адрес страницы
localhost:8080/#/account
кнопка href
href="#myModal"
Я ожидаю увидеть url
localhost:8080/#/account#myModal
Однако я вижу
localhost:8080/#myModal
Я не уверен, связано ли это с моей проблемой.
Спасибо заранее!
РЕДАКТИРОВАТЬ 1
Я видел другой пост, о котором говорил Стьюи. Он объясняет html5mode и hashbang в angularjs, но это действительно не решает мою проблему.
Я попытался поместить html5mode, и он все еще перезагружает страницу, когда я нажимаю кнопку