mutation-observer
mutation-observer copied to clipboard
A library for idiomatic use of MutationObserver with Angular
Attention! This repository is archived and the library has been moved to tinkoff/ng-web-apis monorepository
Mutation Observer API for Angular
Part of
Web APIs for Angular
This is a library for declarative use of Mutation Observer API with Angular.
Install
If you do not have @ng-web-apis/common:
npm i @ng-web-apis/common
Now install the package:
npm i @ng-web-apis/mutation-observer
Usage
Add MutationObserverModule and then use
(waMutationObserver)="onMutation($event)" directive
to watch mutation in an element.
Alternatively use an Observable-based MutationObserverService manually to
get MutationObserver in an RxJS Observable form.
Configuring
Use attributes on an element to define
MutationObserverInit
config object. All attributes are boolean meaning
no need to explicitly set them to true.
NOTE: Keep in mind these are used one time in constructor so you cannot use binding, only strings. Pass comma separated attribute names to set
attributeFilterarray.
Example
<div
subtree
childList
characterData
attributeFilter="title, aria-label"
[title]="title"
[attr.aria-label]="label"
(waMutationObserver)="onMutation($event)"
>
...
</div>
Browser support
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
| 11+ | 14+ | 26+ | 7+ |
Angular Universal
If you want to use this package with SSR, you need to mock MutationObserver class on the server.
You can use our Universal package for this, see this example.
Demo
You can try online demo here
See also
Other Web APIs for Angular by @ng-web-apis
Open-source
Do you also want to open-source something, but hate the collateral work? Check out this Angular Open-source Library Starter we’ve created for our projects. It got you covered on continuous integration, pre-commit checks, linting, versioning + changelog, code coverage and all that jazz.



