对于ngRepeat,只对“一次”执行角度编译是什么意思?

时间:2015-05-01 14:37:34

标签: javascript angularjs

我在角度指令中阅读了一些关于编译和链接的博客。很多人说只对ngRepeat实现执行一次编译。我检查了一下,我发现帖子链接也只执行一次。我在angular.js(v1.3.13)的ngRepeatDirective中添加了断点,我发现帖子链接也只执行一次。

有人可以解释一下为什么人们强调编译只执行一次,而后期链接也只执行一次。

我添加断点的地方:

   ……
    compile: function ngRepeatCompile($element, $attr) {
      debugger;

  ……
     return function ngRepeatLink($scope, $element, $attr, ctrl, $transclude) {
        debugger;
   ……

1 个答案:

答案 0 :(得分:1)

如果你有一个指令:

  • 有一个compile函数
  • 有一个link函数
  • 使用ng-repeat 重复

然后:

  • compile函数调用一次
  • link函数被调用n次(重复次数)

这是toFixed

如果在示例中打开控制台,您将看到compile函数被调用一次,link函数被调用4次。

希望有所帮助!