У нас есть проект, который использует Angular, но только для аспекта привязки к UI/AJAX, а не для каких-либо функций маршрутизации или SPA.
Мы хотим использовать якорные ссылки (#section-2
) в статьях, которые мы пишем в выбранной нами CMS, а также использовать привязывающие ссылки с других страниц (/my-page#section-C
), но Angular переписывает их на #/section-2
, который разбивает якорные ссылки, созданные CMS.
Невозможно увеличить CMS, чтобы изменить способ обработки привязных ссылок.
Возможно ли это:
-
Удалить привязку события
hashchange
из Angular? Я вижу, что это событие привязано к исходному файлуsrc/ng/browser.js
, где он обрабатывает некоторые из маршрутизации и переписывания ссылок, но он находится внутри закрытия, поэтому он не может быть доступен напрямую (и мы связываемся с Angular с CDN поэтому невозможно изменить источник Angular, и мы не хотим поддерживать собственный "пользовательский" Angular источник). -
Задайте опцию или вызовите метод конфигурации, который в конечном счете отключит весь аспект маршрутизации Angular и не позволяет переписывать какие-либо ссылки? (Или, есть ли способ не включать эту часть Angular, но все же сохранить функциональность контроллера /UI/AJAX?)
Заметьте, что я уже пробовал это:
$locationProvider.html5Mode(true)
Однако он делает все другие ссылки на сайте неработоспособными, потому что все ссылки передаются через Angular для обработки. Поэтому, если я ссылаюсь на домашнюю страницу (<a href="/">Home</a>
) и нажимаю ссылку на html5mode
on, ссылка ничего не делает.