@writetome51/unsubscribe-on-destroy-directive
Version:
Abstract Angular directive that unsubscribes from Subscriptions during ngOnDestroy()
57 lines (42 loc) • 1.35 kB
Markdown
# UnsubscribeOnDestroyDirective
An abstract Angular directive class that any Angular directive class which uses
[Subscriptions](https://rxjs-dev.firebaseapp.com/api/index/class/Subscription) can extend
from.
During the `ngOnDestroy()` hook, it unsubscribes from all Subscriptions inside
`this._subscriptions`.
Have your component classes that use Subscriptions
inherit from this class, add their subscriptions to `this._subscriptions`, then let
this class automatically unsubscribe from all of them during `ngOnDestroy()`.
## Example
```
export class ExamplePageComponent extends UnsubscribeOnDestroyDirective
implements AfterViewInit {
ngAfterViewInit() {
this._subscriptions = this._subscriptions.concat(
// Add any subscriptions this component is using to this array:
[
this.subscriptionOne,
this.subscriptionTwo,
// ...
]
);
}
}
```
## Properties
```
protected _subscriptions: Array<{ unsubscribe: () => any }>
```
## Methods
```
ngOnDestroy() : void
```
## Installation
`npm i /unsubscribe-on-destroy-directive`
## Loading
```ts
import { UnsubscribeOnDestroyDirective }
from '@writetome51/unsubscribe-on-destroy-directive';
```
## License
[MIT](https://choosealicense.com/licenses/mit/)