2016-11-05 5 views
0

Я должен встроить виджет, который выполняется при загрузке. В обычной HTML-страницы, я бы поставил скрипт:Как использовать файл JavaScript в компоненте Angular2?

<script src="rectangleDrawing.js"></script> 

И тогда я бы поставил div как заполнитель:

<div name="rectangle></div> 

Проблема теперь, что я не могу просто поставить script в шаблон, потому что он будет удален. Также rectangleDrawing.js, не экспортирует себя в качестве модуля.

Как я могу это сделать?

ответ

0
  • Поместите <script> внутри index.html страницы
  • Поместите <div.. разметку внутри шаблона компонента

Возможно, что сценарий будет подвергать некоторые глобальные переменные, которые можно использовать внутри компонента, это зависит от того, что это внутри и как это работает ...

+0

Спасибо за ваш ответ. Я просто делал еще немного исследований. Я использую webpack. Могу ли я использовать загрузчик сценариев и загружать скрипт только в компонент? Просто чтобы избежать глобального и доступного для этого компонента. – tschaka1904

0

Возможно, это не самый элегантный вариант, но он работает. Просто поместите это в вас. Компонент:

ngOnInit() { 
    this.loadScript(); 
} 

private loadScript(): void { 
    const node = document.createElement('script'); 
    node.src = 'yourScript.js'; 
    node.type = 'text/javascript'; 
    node.async = true; 
    node.charset = 'utf-8'; 
    document.getElementsByTagName('head')[0].appendChild(node); 
} 
Смежные вопросы