Ero curioso di $scope.$eval
vederti così spesso nelle direttive, quindi ho controllato la fonte e ho trovato quanto segue in rootScope.js
:
$eval: function(expr, locals) {
return $parse(expr)(this, locals);
},
$parse
sembra essere definito da ParseProvider
in parse.js
, che sembra definire una sorta di mini sintassi propria (il file è lungo 900 righe).
Le mie domande sono:
Cosa sta
$eval
facendo esattamente ? Perché ha bisogno del suo linguaggio di analisi mini?Perché non
eval
viene utilizzato il semplice vecchio JavaScript ?
$parse
è follemente fantastico.