2016-07-25 5 views
0

私はangularjsを初めて使っています。私は少しのリンクとの混乱と指示の使用法をコンパイルします。誰も私がリンクを使用してコンパイルするシナリオを教えてください。Angularjs:ディレクティブで「リンク」を使用するときに「コンパイル」を使用する方法を知るにはどうすればよいですか?

+1

の可能性のある重複[angularjsでのコンパイルとリンクの機能の違いは何ですか](http://stackoverflow.com/questions/12164138/what-is-the-difference-コンパイルとリンク機能の間で) – kukkuz

+0

ここで質問をする前に、いくつかの調査をしてください。 –

答えて

2

コンパイル段階

DOMがロードされると角度がコンパイルフェーズを開始し、ありマークアップをトップダウンしてトラバースし、すべてのディレクティブでコンパイルを呼び出します。この段階では、コンパイル機能が取得テンプレートはソーステンプレート(インスタンスではなくテンプレートであることを言及することは、おそらく重要である

子供

用のコンパイルループを示す画像を:グラフィカルに、我々はそうのようにそれを表現できます)。

リンクフェーズ

DOMインスタンスは、多くの場合、単にDOMにレンダリングされているソース・テンプレートの結果であるが、彼らはNGリピートによって作成された、またはその場で導入することができます。

ディレクティブを持つ要素の新しいインスタンスがDOMにレンダリングされるたびに、リンクフェーズが開始されます。このフェーズで

、角度通話コントローラ、プレリンク、繰り返し処理の子どもたちなどのように、すべてのディレクティブ上のポストのリンクを呼び出す:リンク以下

はあなたにリンク対コンパイルのための明確なアイデアを与えるだろう。

Angular directives - when and how to use compile, controller, pre-link and post-link

http://odetocode.com/blogs/scott/archive/2014/05/28/compile-pre-and-post-linking-in-angularjs.aspx

関連する問題