【发布时间】:2015-06-11 11:18:50
【问题描述】:
我正在分析我的应用程序 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 时,在控制台中我看到日志在循环中。为什么?
谢谢大家
【问题讨论】:
-
销毁作用域时会触发销毁事件。并且您破坏了事件侦听器中的范围。这样会发出一个销毁事件,该事件调用侦听器,该侦听器销毁作用域,发出事件等。
标签: angularjs performance memory-leaks angularjs-scope heap-memory