2016-08-30 7 views
1

私はHTMLとCSSとJavascriptでテンプレートを持っています。私はHTMLとCSSをコンポーネントに分割しましたが、javascriptを適用することはできません。HTML JavaScriptテンプレートを角2に変換してください。

このテンプレートには、本体の下部に多数のJavaScriptがあります。デザイナーはその時点ですべてのビューが完全にロードされたと仮定します。しかしそれは起こらなかった。どのように角度でそれを採用することができますか?

たとえば、私のデザイナーはすべてのドロップダウンイベントを設定しましたが、ボディの下部にドロップダウンはありません。

+0

あなたが達成しようとしていることを示すコードを投稿してください。私にとって、この質問が何であるかは完全には不明です。 –

+1

@GünterZöchbauer私の目的を説明してください – rezachess

+0

それは役に立たなかった。口で言うだけなら簡単です。私にコードを教えてください。 (Linus Torvalds)https://en.wikiquote.org/wiki/Linus_Torvalds#2000-04 –

答えて

2

正しく理解していれば、変更しようとしている要素のレンダリングがDOMで完了する前に、JavaScriptが読み込まれています。元のコードはありませんが、本当に問題がある場合は、Angular 2ライフサイクルフックを調べる必要があります。

https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html

私はあなたのクラス宣言

implements AfterContentInit 

してから、この関数の内部で、あなたのjavascriptを実行するにこれを追加

ファイルの先頭に

import {AfterContentInit} 
これを入れてみてくださいう

ngAfterContentInit() 
{ 
// your javascript here 
} 
+1

はい、正確です。しかし、問題は、JavaScriptコードがあまりにも多く、私はtypescriptでjavascriptを使用することはできません。 – rezachess

+0

typescriptは構文だけです、あなたがangle2を使用しているとき、ほぼすべてのテンプレートとjsは、それをJavaScriptに変換するtranspilerによって処理されます。 コードが「あまりにも多い」と言ったときに、コードの量が気にならないという意味ですか?コードがアプリケーションの処理速度を低下させていますか? ファイルサイズの制限はありません。しかし、angular2テンプレートではインラインJavaScriptを使用することはできません。エクスポートされたクラスの一部でなければなりません。必要なのは、大量のjsをアプリケーションに渡してグローバルに使用する場合です。jsプラグインと同様に、ur index.htmlにscriptタグを使用できます。彼は言ったように、外部のjs –

+0

をインポートすることもできますが、コードを見ることなく本当にあなたの必要性を判断するのは難しいですが、適切な場所にjsを置くことで簡単に解決できる問題のように聞こえます。あなたが参照を必要とするならば、公式サイトは、そのすべての例についてTypeScriptを使ってJSを使用する方法を示しています –

関連する問題