Javascript 当导航到组件B时,角度组件A是否被破坏?
假设Javascript 当导航到组件B时,角度组件A是否被破坏?,javascript,angular,Javascript,Angular,假设组件A显示在中,并且用户导航时在同一中显示组件B。ComponentA实例是否随后被销毁,以便在用户再次导航回ComponentA时创建ComponentA的新实例 如果ComponentA实现了OnInit,这将导致ComponentA.OnInit()被调用两次 是的,你是对的。如果“RouterOutlet”中的任何组件是通过角度路由加载的,那么当另一个组件加载时,当前组件在调用其最后一个回调方法ngondstroy()后将被销毁 是的,你是对的。如果“RouterOutlet”中的任
组件A
显示在
中,并且用户导航时在同一中显示组件B
。ComponentA
实例是否随后被销毁,以便在用户再次导航回ComponentA
时创建ComponentA
的新实例
如果ComponentA
实现了OnInit
,这将导致ComponentA.OnInit()
被调用两次 是的,你是对的。如果“RouterOutlet”中的任何组件是通过角度路由加载的,那么当另一个组件加载时,当前组件在调用其最后一个回调方法ngondstroy()后将被销毁 是的,你是对的。如果“RouterOutlet”中的任何组件是通过角度路由加载的,那么当另一个组件加载时,当前组件在调用其最后一个回调方法ngondstroy()后将被销毁 如果componentA被另一个组件替换,则调用componentA的ngondstroy()
方法。但是componentA创建的东西不会自动销毁。如果您想清理componentA创建的东西,您必须自己在componentA的ngondstroy()
方法中编写代码
例如,如果您在ngOnInit()
中订阅了一些无休止的观测值,则需要在ngondestory()
中取消订阅,否则,即使在另一个组件替换了组件A之后,订阅仍将处于活动状态。如果组件A被另一个组件替换,则ngondestory()
调用componentA的方法。但是componentA创建的东西不会自动销毁。如果您想清理componentA创建的东西,您必须自己在componentA的ngondstroy()
方法中编写代码
例如,如果您在ngOnInit()
中订阅了一些无休止的观测值,则需要在ngondestory()
中取消订阅,否则,即使在另一个组件替换了组件A之后,订阅仍将处于活动状态