我正在分析我的应用程序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时,在控制台中我看到日志在循环中。为什么呢?
谢谢大家
答案 0 :(得分:1)
您可以在有关scope life cycle的文档中找到答案的一部分。
在你的情况下,你在监听器中调用$ destroy事件。所以你正在对$ destroy事件进行递归调用。