During the migration of the feed component, I found a some lines that I didn’t know how to code it on Angular 2. The following gist is an extract of the code I’m talking about:

As you can see in the snippet, if the condition is true then the directive listens for events of type muted.byRequest , muted.byUser and muted.Join . The code that involves this events is easy, without any type of complexity (for now we ignore the $watch ).

But, wait a minute, I have read the documentation of Angular 2 like hundred times and I do not remember nothing about “events” with Angular 1.X style. Thats because it not exist. Angular 2 don’t have a way to make events like in Angular 1, so I have to find a solution. After search for a solution I found this entry in laco’s blog.

Broadcaster

Basicaly the idea is to make a service that implements the $broadcast and $on method like we had in $rootScope . For do this we use Observables, very important in Angular 2, and in this case we use a Subject .

So, now we can start to use events like in the example:

How I solved the problem?

I didn’t. This events are only to show the user information pop ups about when he is muted, so it’s not a critical feature. By now this events are fired and listen in different components, and some of it still implemented in Angular 1.4.

This is a solution I want to share with you, but I’m not sure if this will be the way that I will use to solve the problem. Because this events probably won’t be necessary when I reimplement the MuteNotifier .