AngularJS:编译函数的作用

时间:2017-05-24 09:52:37

标签: angularjs

我是角度js的新手。

就像知道他们所做的那样几行。

app.directive('fancybox', function($compile) {
  return {
    restrict: 'A',
    replace: false,
    link: function($scope, element, attrs) {

      $scope.open_fancybox = function() {

        var el = angular.element(element.html()),

        compiled = $compile(el);

        $.fancybox.open(el);

        compiled($scope);

      };
    }
  };
});

以下这些内容尚不清楚。

var el = angular.element(element.html()),
compiled = $compile(el);
$.fancybox.open(el);
compiled($scope);

1)$ compile在编译后会做什么以及返回什么? 2)当我们需要编译范围如编译($ scope);

我测试了如果我评论这行编译($ scope);然后价值没有表达.......为什么?

请详细指导我。感谢

1 个答案:

答案 0 :(得分:1)

编译的目的是将HTML字符串或DOM编译成模板并返回模板函数,可以使用将范围和模板链接在一起

见最后一行
       编译($范围);

在这里,您将使用$ compile的功能模板绑定$ scope。