• Overview
@angular/core

DestroyRef

Class

DestroyRef lets you set callbacks to run for any cleanup or destruction behavior. The scope of this destruction depends on where DestroyRef is injected. If DestroyRef is injected in a component or directive, the callbacks run when that component or directive is destroyed. Otherwise the callbacks run when a corresponding injector is destroyed.

  
    abstract class DestroyRef {}
  
  

onDestroy

() => void

Registers a destroy callback in a given lifecycle scope. Returns a cleanup function that can be invoked to unregister the callback.

@paramcallback() => void
@returns() => void
Usage notes

Example

          
const destroyRef = inject(DestroyRef);// register a destroy callbackconst unregisterFn = destroyRef.onDestroy(() => doSomethingOnDestroy());// stop the destroy callback from executing if neededunregisterFn();
Jump to details