如何销毁/清理现有控制器?

问题描述 投票:0回答:1

使用route.resolve从页面A导航到B时,我的功能正常运行,但是当再次从B导航至A时,我得到了不匹配的匿名define()模块。 A和B具有相同模块的不同控制器。

angularjs
1个回答
0
投票

$ compile服务提供了$onDestroy生命周期挂钩。

来自文档:

生命周期挂钩

指令控制器可以提供以下指令,它们在指令的生命周期内由AngularJS调用:

  • $onDestroy()-破坏其包含范围的控制器时调用。使用此挂钩释放外部资源,监视和事件处理程序。请注意,组件的$onDestroy()挂钩被调用的顺序与$scope.$broadcast事件被触发的顺序相同,该事件自上而下。这意味着父组件将在子组件之前调用其$onDestroy()挂钩。

AngularJS Comprehensive Directive API Reference - Life-cycle Hooks

© www.soinside.com 2019 - 2024. All rights reserved.