# `$destroy` ( type in module `ng` )

## Description

Removes the current scope (and all of its children) from the parent scope. Removal implies that calls to `$digest()` will no longer propagate to the current scope and its children. Removal also implies that the current scope is eligible for garbage collection.

The `$destroy()` is usually used by directives such as `ngRepeat` for managing the unrolling of the loop.

Just before a scope is destroyed a `$destroy` event is broadcasted on this scope. Application code can register a `$destroy` event handler that will give it chance to perform any necessary cleanup.

## Usage

    Scope#$destroy();