UNPKG

static-injector

Version:

Angular 依赖注入独立版本;Angular dependency injection standalone version

45 lines (44 loc) 1.41 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ import { EnvironmentInjector } from '../di'; /** * `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. * * @publicApi */ export declare abstract class DestroyRef { /** * Registers a destroy callback in a given lifecycle scope. Returns a cleanup function that can * be invoked to unregister the callback. * * @usageNotes * ### Example * ```ts * const destroyRef = inject(DestroyRef); * * // register a destroy callback * const unregisterFn = destroyRef.onDestroy(() => doSomethingOnDestroy()); * * // stop the destroy callback from executing if needed * unregisterFn(); * ``` */ abstract onDestroy(callback: () => void): () => void; /** * @internal * @nocollapse */ /** * @internal * @nocollapse */ static __NG_ENV_ID__: (injector: EnvironmentInjector) => DestroyRef; }