Angular 5 избегает HashLocationStrategy для определенного маршрута

В моем приложении angular 5 у меня есть несколько маршрутов. я добавил{ provide: LocationStrategy, useClass: HashLocationStrategy }в провайдерах файла app.module.ts. Но я хочу удалить этоHashLocationStrategy с определенного маршрута.

Спасибо.

1 ответ

Решение

Короче говоря, вы не можете. Почему указано в документации и как вы объявляете стратегию маршрутизации:

LocationStrategy, используемый для настройки службы определения местоположения для представления ее состояния в хеш-фрагменте URL-адреса браузера.

Он предоставляется (как услуга), и нет возможности подключиться к инъекции и предоставить несколько вариантов инъекции во время выполнения (если путь похож на... то введите то или другое). Внедрение зависимостей настраивается во время инициализации модуля, и я знаю, что другого пути нет.

Тогда мы можем сделать вывод из цели Location service, который является только одним и предназначен для создания относительных URL-адресов на основе стратегии, которая берет предоставленную stategy и использует ее в масштабе всего приложения.

Другие вопросы по тегам