angular2: включение сторонних js-скриптов в компонент

Есть ли способ включить сторонние JS-скрипты в компонент Angular2 вместо того, чтобы включать его в index.html?

У меня есть компонент таблицы, который оборачивает dataTables. Это единственный компонент, который нуждается в dataTables js / css. Было бы хорошо, если бы я мог сохранить мой index.html чище. Компонент декоратор позволяет вам указать CSS-файлы.

Я пытался переместить теги скрипта в html компонента, но это не сработало.

1 ответ

Теги скриптов в шаблонах компонентов удалены. Обходной путь - динамически создать тег сценария в ngAfterViewInit()

Смотрите также https://github.com/angular/angular/issues/4903

import { DOCUMENT } from '@angular/common';
...

constructor(private @Inject(DOCUMENT) document, 
            private elementRef:ElementRef) {};

ngAfterViewInit() {
  var s = this.document.createElement("script");
  s.type = "text/javascript";
  s.src = "http://somedomain.com/somescript";
  this.elementRef.nativeElement.appendChild(s);
}

Смотрите также /questions/17532094/kak-dobavit-script-script-v-javascript/17532107#17532107

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