Ngx observers is library to allow developer use Resize, Mutation and Intersection observer api like normal output events on some element.
Angular version | Ngx observers version |
---|---|
12, 13 | 0.0.0 - 1.x.x |
14 | 2.x.x |
15 | 3.x.x |
npm install ngx-observers --save
then add NgxSimpleTextEditorModule
into module imports
import {NgxObserversModule} from "ngx-observers";
@NgModule({
// ...
imports: [
// ...
NgxObserversModule,
// ...
],
// ...
})
- ResizeDirective - Allow observe resize event of given object
<div (obsResize)="resize($event)" [obsOptions]="{box: 'content-box'}" #elem="directive">...</div>
- MutationDirective - Allow observe DOM tree changes
<div (obsMutation)="mutate($event)" [obsOptions]="{subtree: false}" #elem="directive">...</div>
- Intersection directive - Allow observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport
<div (obsIntersection)="intersect($event)" [obsOptions]="{threshold: 0.5}" #elem="directive">...</div>
You can access directive original observer object (e.g. this.obsResize.observer
) using template variables (#elem="directive"
):
@ViewChild('elem') obsResize: ResizeDirective | undefined;
@ViewChild('elem') obsMutation: MutationDirective | undefined;
@ViewChild('elem') obsIntersection: IntersectionDirective | undefined;
See online
MIT