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