DestroyRef • Angular
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.
API
abstract class DestroyRef { abstract onDestroy(callback: () => void): () => void; abstract readonly destroyed: boolean;}
onDestroy
() => voidRegisters a destroy callback in a given lifecycle scope. Returns a cleanup function that can be invoked to unregister the callback.
@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();
destroyed
booleanIndicates whether the instance has already been destroyed.