AngularJs $ scope。$ destroy()。怎么用?

时间:2015-06-11 11:18:51

标签: angularjs performance memory-leaks angularjs-scope heap-memory

我正在分析我的应用程序AngularJs的代码以尝试最大化性能,并将此代码放在我的控制器中

$scope.$on("$destroy", () ->
  console.log "DESTROY SCOPE OF CONTROLLER BEFORE EXIT"
  console.log window.performance.memory
  $scope.$destroy()
  console.log window.performance.memory
)

所以

$scope.$destroy()

应该清除我的控制器及其子项的范围。 问题是当我离开控制器并激活事件$ destroy时,在控制台中我看到日志在循环中。为什么呢?

enter image description here

谢谢大家

1 个答案:

答案 0 :(得分:1)

您可以在有关scope life cycle的文档中找到答案的一部分。

在你的情况下,你在监听器中调用$ destroy事件。所以你正在对$ destroy事件进行递归调用。