Byłem ciekawy tego, $scope.$eval
co tak często widzisz w dyrektywach, więc sprawdziłem źródło i znalazłem w rootScope.js
:
$eval: function(expr, locals) {
return $parse(expr)(this, locals);
},
$parse
wydaje się być zdefiniowany przez program ParseProvider
in parse.js
, który wydaje się definiować jakąś własną mini-składnię (plik ma długość 900 linii).
Moje pytania to:
Co dokładnie
$eval
robi? Dlaczego potrzebuje własnego mini języka parsowania?Dlaczego nie
eval
jest używany zwykły stary JavaScript ?
$parse
jest niesamowicie świetny.