This package has been deprecated

Author message:

WARNING: This project has been renamed to @w11k/ngx-componentdestroyed. Install using new-package-name instead.

ng2-rx-componentdestroyed
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

Build Status npm version

New version 3.0.0 breaking change

  • Requires >= RxJS 6.0.0 (part of Angular 6)

Unsubscribe from Observables in Angular Components

This small library provides a utility method that helps to unsubscribe from ReactiveX's Observables in Angular Components.

Demo

@Component({
  selector: 'foo',
  templateUrl: './foo.component.html'
})
export class FooComponent implements OnInit, OnDestroy {

  ngOnInit() {
    Observable.interval(1000)
        .pipe(
            untilComponentDestroyed(this) // <--- magic is here!
        )
        .subscribe(console.log);
  }

  ngOnDestroy() {
  }
  
}

Installation / Usage

Download the NPM package

npm i --save ng2-rx-componentdestroyed

Prepare the Angular Component class

The component class must have a ngOnDestroy() method (it can be empty):

@Component({
  selector: 'foo',
  templateUrl: './foo.component.html'
})
export class FooComponent implements OnDestroy {

  // ...

  ngOnDestroy() {
  }
  
}

Usage

Use the untilComponentDestroyed() method as an Observable pipe operator. This only works inside Angular components since this library uses the component's life cycle hooks to determine when the Observable is not needed anymore.

import {untilComponentDestroyed} from "ng2-rx-componentdestroyed";

...
...

Observable.interval(1000)
    .pipe(
        untilComponentDestroyed(this)
    )
    .subscribe(console.log);

More information

https://medium.com/thecodecampus-knowledge/the-easiest-way-to-unsubscribe-from-observables-in-angular-5abde80a5ae3

Readme

Keywords

none

Package Sidebar

Install

npm i ng2-rx-componentdestroyed

Weekly Downloads

107

Version

3.0.1

License

Apache-2.0

Unpacked Size

21.6 kB

Total Files

16

Last publish

Collaborators

  • romanroe