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