angularjs - $parse vs $eval ? which one is best practice? -
i know $parse
, $eval
both operate on angular expressions.then why angular team created these 2 ?
i checked in angular library, $eval
defined that:
$eval: function(expr, locals) { return $parse(expr)(this, locals); }
so difference between :
$parse(expr)(context, locals);
and
$eval: function(expr, locals) { return $parse(expr)(this, locals); }
i want know 1 best practice ? , when use these 2 ?
as noticed,
$parse(expr)($scope, locals)
is exactly equivalent to
$scope.$eval(expr, locals)
but, $parse
more "fundamental" operation $eval
, , so, $parse
once in 1 place (for example, in compile
function of directive):
var parsedexpr = $parse(tattrs.p1);
and use repeatedly elsewhere (for example, in controller
function)
var childscope1 = $scope.$new(); var childscope2 = $scope.$new(); var r1 = parsedexpr(childscope1); var r2 = parsedexpr(childscope2);
Comments
Post a Comment