2016-03-24 20 views
2

ile eval() kullanamazsınız angular.js işlevini çağırmak için javascript'ten eval kullanmaya çalışıyorum.Açısal

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

Ama

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

Bunu yapmanın doğru yolu nedir

gösteriyor: Ben

dize

yılında adını aşağıdaki kullandı?

+1

çoğaltma tarafından bu işlev çağrısını çağırarak tekrar $eval fonksiyonunu & yapıyoruz gibidir: ([link burada açıklama girin] http://stackoverflow.com/questions/15671471/angular -js-how-does-eval-work-ve-neden-it-it-farklı-vanilla-eval) –

+0

Biçim aynıysa, gerçekten değerlendirmeye ihtiyacınız yok. Şunun gibi bir şey yapabilirsiniz: http://codepen.io/anon/pen/VabERy – Marie

cevap

1

Denetleyici kapsamına göre değerlendirilecek olan expression(string)/function - $eval'a geçebilirsiniz.dizesi için $scope kullanılmasına gerek yoktur.

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

Nereye ile

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