Переопределить Angular поставщиков, предоставленных в root - PullRequest
1 голос
/ 29 января 2020

Я импортирую модальную библиотеку ng- bootstrap в ленивый модуль.

@NgModule({imports: [NgbModalModule]})

В этой библиотеке есть NgbModal служба, предоставляемая в root.

@Injectable({providedIn: 'root'})
class NgbModal {...}

Я внедряю его в компонент.

constructor(private modal: NgbModal) {}

Я разрабатываю расширение класса этого.

export class CustomNgbModal extends NgbModal{...}

Как я могу переопределить тип NgbModal с CustomNgbModal?

Использование модулей будет

{provide: NgbModal, useClass: CustomNgbModal}

, но с использованием предоставленных метаданных root, без понятия.

Итак, как я могу переопределить модуль, который предоставляется в root?

1 Ответ

0 голосов
/ 29 января 2020

Я верю, что то, чего вы пытаетесь достичь, можно сделать с помощью

//module
providers: [
  CustomNgbModal, // so you can inject your custom service
  {provide: NgbModal, useExisting: CustomNgbModal} // to the library would use this service instead of its own
]
...