У меня есть html5mode включен в моем приложении AngularJS, поэтому я могу обращаться к пути с URL-адресом site.com/path
вместо site.com/#/path
.
Но навигация к хешу не работает должным образом с включенным html5mode. Когда я site.com/#hash
на сайт site.com/#hash
через Chrome, URL-адрес автоматически изменится на site.com/hash
. Поскольку hash
не является ресурсом на сервере, этот URL-адрес приводит к загрузке файла index.html по умолчанию вместо прокрутки в hash
местоположение.
Это кажется очень тривиальным вариантом использования, но как я могу сделать URL-адрес site.com/#hash
как ожидалось с помощью AngularJS?
Я получил его для работы с помощью:
Цитирование с страницы документов:
Обратите внимание, что удаление требования для тега будет иметь неблагоприятные побочные эффекты при разрешении относительных путей с $ location в IE9.
Подводя итог, угловые листья хеш-фрагментов в URL нетронутыми, только если:
requireBase:false
при включении html5modeНеудивительно, что людям трудно понять AngularJS: документация слаба, а структура похожа на волшебный черный ящик, который контролирует ваше приложение от вас.
html5mode
и попробуйтеsite.com/#/#hash
чтобы хеш работал, а неsite.com/#hash