是什么区别$parse,$interpolate和$compile服务?对我来说,他们都做同样的事情:获取模板并将其编译为模板功能。
$parse
$interpolate
$compile
这些都是服务的所有例子,援助在AngularJS视图呈现(虽然$parse并 $interpolate可以使用该结构域之外)。为了说明每个服务的作用,让我们以这段HTML为例:
var imgHtml = '<img ng-src="/path/{{name}}.{{extension}}">'
和范围上的值:
$scope.name = 'image'; $scope.extension = 'jpg';
鉴于此标记,这里是每个服务带到表中的内容:
ng-src
/path/{{name}}.{{extension}}
$interpolation
$interpolate("/path/{{name}}.{{extension}}")($scope)
path/image.jpg
name
extension
$parse('name')($scope)
$parse('name').assign($scope, 'image2')
所有这些服务正在共同努力,以在AngularJS中提供实时UI。但是它们在不同的级别上运行: