Мне было интересно узнать о $scope.$eval, который вы так часто видите в директивах, поэтому я проверил источник и нашел следующее в rootScope.js:
$eval: function(expr, locals) {
return $parse(expr)(this, locals);
},
$parse, по-видимому, определяется ParseProvider в parse.js, который, как представляется, определяет какой-то собственный мини-синтаксис (файл длиной 900 строк).
Мои вопросы:
-
Что именно делает
$eval? Зачем нужен собственный мини-парсинг? -
Почему не используется обычный старый JavaScript
eval?