2016-03-24 10 views
2

javascriptのevalを使ってangular.jsの関数を呼び出そうとしています。角度でeval()を使用できません

$scope.$eval("$scope.drawFactory.draw")({},$scope.paint); 

しかし、これを行うための適切な方法は何ですか

TypeError: $scope.$eval(...) is not a function

を示しています:私は、私は次のように使用される文字列

でその名前を持っていますか?

+1

重複することにより、その関数呼び出しを呼び出して再び$eval機能&をやっているよう:[ここにリンクの説明を入力します](http://stackoverflow.com/questions/15671471/angular -ys-how-does-eval-work-and-why-it-different-from-vanilla-eval) –

+0

形式が同じなら、あなたは本当にevalを必要としません。次のようなことができます:http://codepen.io/anon/pen/VabERy – Marie

答えて

1

expression(string)/function$evalに渡すことができます。これはコントローラのスコープに対して評価されます。 $eval文字列には$scopeを使用する必要はありません。

$scope.$eval("drawFactory.draw") 

どこで

//below is obviously gonna throw an error 
$scope.$eval("$scope.drawFactory.draw")({},$scope.paint); //incorrect function execution 
関連する問題