2016-11-05 9 views
0

私はウィジェットを埋め込みました。これはロード時に実行されます。通常のHTMLページでは、私はスクリプトを置く:Angular2コンポーネントでJavaScriptファイルを使用するにはどうすればよいですか?

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

をそして、私はプレースホルダとしてdivを置く:

<div name="rectangle></div> 

問題は、私はちょうどscriptを置くことができないということになりましたそれは削除されるため、テンプレートに追加します。またrectangleDrawing.jsもモジュールとしてエクスポートされていません。

どうすればいいですか?

答えて

0
  • は、おそらくそのスクリプトは、あなたのコンポーネント内で使用することができ、いくつかのグローバル変数を公開するコンポーネントテンプレート

<div..マークアップを<script>

  • index.htmlページの内部を入れて入れて、それは何によって決まります内部とその仕組み...

    +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); 
    } 
    
    関連する問題