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,
) {}

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

@Attribute() декоратор

Аналогично @Input() позволяет получить значение атрибута с хоста компонента/директивы, но не отслеживает дальнейшее изменение атрибута.

14 сентября 2019 г. в Angular

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

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

Вставить <script> в Angular компонент

Добавление сторонних скриптов в Angular по запросу. Как известно, добавить скрипт через шаблон невозможно. Представлено решение как это сделать программно.

15 ноября 2019 г. в Angular