Angular. Подключение внешних библиотек

Внедрение библиотеки через механизм внедрения зависимостей позволяет сделать нормальные тесты на компонент.

  1. Подключение
  2. Объявление
declare const gapi: GoogleApi;

export const GOOGLE_API = new InjectionToken('GOOGLE_API', {
  providedIn: 'root',
  factory: () => gapi
});

или

export const GOOGLE_API = new InjectionToken('GOOGLE_API', {
  providedIn: 'root',
  factory: () => window['gapi']
});
  1. Использование
constructor(
   private readonly _changeDetectorRef: ChangeDetectorRef,
   @Inject(GOOGLE_API) private readonly _gapi: GoogleApi,
) {}

Похожие записи

Angular. Когда не надо отписываться в RxJS?

В async pipe за вас отпишется Angular. Во всех остальных случаях лучше отписываться самостоятельно. Допускается не отписываться в потоках, где будет гарантировано вызван complete.