繁体   English   中英

AngularJS和$ rootScope

[英]AngularJS and $rootScope

我试图了解Angular中scopes的生命周期,并且想知道是否使用$rootScope.$on$rootScope.$watch是否超出范围(传统意义上)?

Angular有没有任何类型的垃圾收集或类似的东西?

你是否担心释放对象($ scopes)?

整个角度范围是一个相当大的文档,但您可以从这里这里开始。

简短而高雅的答案是angular检查你的模块( angular.module('myapp') )来创建一个复杂的依赖树。 然后解析DOM以识别“ng”标签或其他自定义指令,这些指令经历编译阶段(构建自定义HTML)和链接阶段(生成范围并将其附加到该元素)。 这大约是真实情况的1/100,但这是一个开始。

Angular确实执行垃圾收集,但几乎所有这些都发生在幕后。 当计划删除$ scope时,它做的最后一件事就是触发$ scope。$ destroy(),你可以用$scope.$on('$destroy', function() { .. })挂钩$scope.$on('$destroy', function() { .. })执行任何清理。 然后,在大多数情况下,你不必担心清理或“释放”任何东西,因为角度也会照顾到它。

:编辑:

我也偶然发现了这个问题,这最好地解释了它 - 理解范围

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM