2016-04-14 13 views
0

"showFileBrowser"という名前のAngularJS指令に問題があります。私はテンプレートでJavascriptを使用したいが、私のブラウザでは実行されない。ここに私のコードですAngularJS指令テンプレートでJavascriptを実行しない

app.directive("showFileBrowser", function() { 
    return { 
     restrict: 'E', 
     template: '<script>$("#searchNote").fileTree({data: scope.filedata,sortable: false,selectable: false});</script>' 
    } 
}); 

私は指示にJavascriptを実行できないか、それを行う方法を知っている人がいるのですか?

答えて

2

idを使用する必要はありません。「要素」を直接使用してください。

app.directive("showFileBrowser", function() { 
    return { 
     restrict: 'E', 
     link: function($scope, element, attrs) {  
      $(element).fileTree({data: scope.filedata,sortable: false,selectable: false}); 
     } 
    } 
}); 
+0

要素パラメータのアドバイスをありがとうございます。しかしそれでも仕事はありません。 –

+0

あなたはコンソールがエラーを起こしているかもしれません、失敗したためにfiledataの問題のように、 'scope.filedata'ではなく' $ scope.filedata'です。 –

+0

私のコンソールに何も表示しないでください。すべてがうまくいくように見えます。私の答えは、あなたが働く一つの方法を示しています。 –

0

関数を返すとうまくいきますが、オブジェクトを返すほうが好きです。

app.directive("showFileBrowser", function() { 
    return function(scope, element, attr) { 
     $(element).fileTree({data: scope.filedata,sortable: false,selectable: false}); 
    }  
}); 
関連する問題