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



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

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

我添加断点的地方:

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

如果你有一个指令:

  • 具有compile功能
  • 具有link功能
  • 使用ng-repeat重复

然后:

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

这是一个工作示例。

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

希望对您有所帮助!

最新更新