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