Package Exports
- @w11k/ngx-componentdestroyed
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@w11k/ngx-componentdestroyed) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-componentdestroyedPrepare 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);