Я немного новичок в Angular 2 и его способах внедрения зависимостей, но не совсем смог найти простой способ изменить зависимость компонента на основе маршрута.
IE. С учетом компонента, который принимает службу.
MyReusableComponent {
constructor(private service: ServiceIWantToChange){}
}
С учетом того, что я добавляю новый маршрут в другую часть веб-приложения, которое будет повторно использовать компонент.
Я хочу сделать что-то вроде этого: NewAreaRoutingModule
{
path: "newRoute",
component: MyReusableComponent,
** my made up provider area ** -providers: [{provide:
ServiceIWantToChange, useClass: MyServiceWithChanges}]
}
Это то, к чему я привык, как способ обработки зависимых от местоположения зависимостей.
Я думал, что смогу предоставить переопределенную реализацию Компонента, которая обеспечивает новую зависимость для повторно используемого компонента, но я надеялся просто изменить зависимость в маршруте.
Я проводил исследования по распознавателям и т. Д., Но, похоже, они больше предназначены для предоставления данных.Я также заметил кого-то, кто ввел инжектор и сделал проверку if, чтобы получить право на компонент.Видел пару разных способов.Я уверен, что есть кое-что, что мне не хватает в маршрутизации и DI, но я не могу найти ничего простого.Я знаю, что есть обходные пути, но надеялся найти более элегантное решение и просто узнать, возможно ли то, что я хочу сделать.
Спасибо!
Вот примеры использования вслучай, когда я подхожу к этому неправильно в общем ... В одной области системы я хочу использовать службу, которая обращается к одной версии остальных конечных точек на сервере, а в другой части системы я хочу повторно использовать точно такой же компонентно пусть он отправляет свои запросы в другой набор конечных точек.