Как включить навигацию к хешу URL с помощью HTML5-режима AngularJS?

0

У меня есть 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?

  • 0
    Удалите код html5mode и попробуйте
  • 0
    После удаления html5mode, URL должен быть site.com/#/#hash чтобы хеш работал, а не site.com/#hash
Показать ещё 4 комментария
Теги:
hash
url-routing

1 ответ

0
Лучший ответ

Я получил его для работы с помощью:

Цитирование с страницы документов:

Обратите внимание, что удаление требования для тега будет иметь неблагоприятные побочные эффекты при разрешении относительных путей с $ location в IE9.

Подводя итог, угловые листья хеш-фрагментов в URL нетронутыми, только если:

  • html5mode включен,
  • хэш-префикс установлен,
  • и вы не задали requireBase:false при включении html5mode

Неудивительно, что людям трудно понять AngularJS: документация слаба, а структура похожа на волшебный черный ящик, который контролирует ваше приложение от вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню