2016-05-12 12 views
2

スクリプトファイルを作成し、そのファイルをhtml body要素に追加する指示文を作成しました。角度指示子で作成された角度スクリプトコードをコンパイルする方法

しかし、角度コードはそのファイルでは機能しません。私がうまく動作しているJavaスクリプトコードを書く場合。

application.directive("dynamicScript", 
function(service,$compile,$http,$rootScope){ 
    return { 
     restrict:"E", 
     terminal: true, 
     scope:{ 

     }, 
     link:function(scope,element,attrs){ 

      //scope.scriptname = attrs.name; 
      //service.setData(attrs.name); 

      //$http.get('generatescript').then(function(response) { 
       var scriptElem = angular.element(document.createElement('script')) 
       scriptElem.attr("src", "./js/SAMPLEScript.js") 
       scriptElem.attr("type", "text/javascript") 
       //element.html('').append($compile(scriptElem.contents())($rootScope)); 
       var ele = angular.element(document.getElementsByTagName("body")).append(scriptElem); 
       $compile(scriptElem.contents())(scope); 

      //}); 

     } 
    } 
}); 

SAMPLEScript.jsには、動作しない角度のスクリプトコードが含まれています。このファイルを正しくロードする方法。

答えて

0

Angular Jarのドキュメントに示すように、ディレクティブを作成できます。それは明示的なコンパイルを避けるために役立ちますし、コンパイル関数も直接使用することができます。 https://docs.angularjs.org/api/ng/service/ $ compile

+0

は試しましたが、スクリプトコードを作成するのではなく、スクリプトファイルを応答のhtmlファイルに含めて、角度スクリプトコードも機能しませんでした。ファイルにプレーンなJavaスクリプトcode.itsが正常に含まれている場合。
$ compileを使用すると、レスポンスコードをコンパイルしてから、角度のディレクティブをコンパイルしました。 – user3763029

関連する問題