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