Tôi tò mò về các $scope.$eval
bạn thường thấy trong các chỉ thị, vì vậy tôi đã kiểm tra nguồn và tìm thấy những điều sau đây rootScope.js
:
$eval: function(expr, locals) {
return $parse(expr)(this, locals);
},
$parse
dường như được định nghĩa bởi ParseProvider
in parse.js
, dường như xác định một số loại cú pháp nhỏ của chính nó (tệp dài 900 dòng).
Câu hỏi của tôi là:
Chính xác thì
$eval
đang làm gì? Tại sao nó cần ngôn ngữ phân tích cú pháp nhỏ của riêng mình?Tại sao JavaScript cũ
eval
không được sử dụng?
$parse
là tuyệt vời tuyệt vời.