2016-03-24 22 views
2

我想從javascript中使用eval來調用angular.js中的函數。我有它的字符串無法使用eval()與角

名字我用下面的:

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

但它顯示

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

什麼是做到這一點的正確方法?

+1

重複使用:在這裏輸入鏈接的描述(http://stackoverflow.com/questions/15671471/angular -js-how-do-eval-work-and-why-it-it-it-different-vanilla-eval) –

+0

如果格式相同,你不需要eval。你可以做這樣的事情:http://codepen.io/anon/pen/VabERy – Marie

回答

1

您可以通過expression(string)/function$eval,這將根據控制器範圍進行評估。對於$eval字符串,無需使用$scope

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

在哪裏,你在做$eval功能&再次調用該函數調用由

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