2016-08-17 5 views
0

コンパイル機能でディレクティブ内のコンテンツを取得しようとしているところです。テンプレートを適用する前にディレクティブの内容を取得しようとしています

angular.module('myModule').directive('myDirective', function ($compile) { 

    return { 
     restrict: 'E', 
     compile: compile 
    } 

    function compile(){ 

     return { 
      pre: function(scope, element, attrs){ 

       // Get the current contents 
       var elContent = angular.copy(element.contents()); 

       console.log(elContent); 

      } 
     } 

    } 

}) 

この時点で、コンテンツはコンパイルされていません。これは私が望むものです。残念ながら、それはすべての子供たちがテンプレートをスキャンしてテンプレートを置き換えたものです(例えばコメントなどがあります)。

テンプレートを置き換える前にコンテンツを取得して対話することは可能ですか?それを元の要素に戻すことができますし、別のディレクティブ(より低い優先順位で)の継承などをさせることができますか?

答えて

0

あなたは子供のディレクティブを見ることができるように、親、コンパイル後にコンパイルので、私はあなたの質問が

enter image description here

+0

まあ、私は機能をコンパイルし、親にそれをログアウトしていると私はそれを参照することができます正しくないと思います子供たちはテンプレートを挿入しましたが、まだコンパイルされていません。これは2つの別々のものです。 – jonhobbs

関連する問題