Communication is important, especially neighborhood communication 😎 Let’s collect communication approaches between components.
I remember a time when I jumped to Angular and while developing I had to find the best way to communicate between components. In Angular we may dispatch events ($emit, $broadcast), in React use Redux etc. Each framework has own approaches, but we may have general solutions no matter of framework, web components. So, let’s collect them.
We are going to talk about neighborhood communication 😎
Custom Event is a good approach to dispatch events and listen. You should listen event from target
Window, but the target may be any object that supports events (such as
XMLHttpRequest). It does not work in IE but for that we have a Polyfill solution.
So, Custom Event Service is going to look like that:
The Publish/Subscribe pattern encourage us to think hard about the relationships between different parts of our application.
Publish/Subscribe pattern saves a TOPIC name and reference to a callback. When you publish the TOPIC it calls the callback.
👯 Difference between Custom Event and Pub/Sub
Callbacks are not subscribed to particular events. Every payload is dispatched to every registered callback.
Another way to communicate is watching DOM changes. You may observe node element changes (attributes, childList, characterData) and when DOM changes occur observer will invoke a specified callback function.
👏 Thank you for reading. Suggestions, comments, thoughts are welcome 👍