2016-03-24 9 views
2

zu verwenden Ich versuche, eval von Javascript zu verwenden, um eine Funktion in angular.js aufzurufen. Ich habe seinen Namen in StringNicht in der Lage, eval() mit eckigen

ich folgendes verwendet:

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

Aber es

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

zeigt Was ist der richtige Weg, dies zu tun?

+1

Überschneidungen mit: [link Beschreibung hier eingeben] (http://stackoverflow.com/questions/15671471/angular -js-how-does-eval-arbeiten-und-warum-ist-es-anders-von-Vanille-eval) –

+0

Wenn das Format das gleiche ist, brauchen Sie nicht wirklich Eval. Sie könnten so etwas tun: http://codepen.io/anon/pen/VabERy – Marie

Antwort

1

Sie könnten expression(string)/function an $eval übergeben, die gegen Controller-Bereich ausgewertet werden. Keine Notwendigkeit, $scope für $eval Zeichenfolge zu verwenden.

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

Wo, wie Sie $eval Funktion & wieder tun durch

, dass Funktionsaufruf Aufruf
//below is obviously gonna throw an error 
$scope.$eval("$scope.drawFactory.draw")({},$scope.paint); //incorrect function execution