Send data to all subscribers elements with observable - angular2
<p>I want to send data to my all elements called 'modal', but only one of them reciving message. </p>

<p>I have a service:</p>

<pre><code>@Injectable()
export class ModalService {

private _isOpen = new Subject();
isOpen$ = this._isOpen.asObservable();

open(id: string) {
    this._isOpen.next({isOpen: true, id: id});
}

close(id: string) {
    this._isOpen.next({isOpen: false, id: id});
}
</code></pre>

<p>and component:</p>

<pre><code>import {Component, Input} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import {Subject} from 'rxjs/Subject';

import {ModalService} from './modal.service';


@Component({
     selector: 'modal',
     template: `
     &lt;ng-content&gt;&lt;/ng-content&gt;`,
     styleUrls: ['app/workshop/modal.component.css'],
     providers: [ModalService],

})

export class ModalComponent {

@Input() ID;

private show = false;

constructor(private _modal: ModalService) {

    this._modal.isOpen$.subscribe(
        (value) =&gt; {
            console.log(value)
            if(this.ID === value.id) {
                this.show = value.isOpen;
            }
        }
    );

}

open() {
    this._modal.open(this.ID);
}

close() {
    this._modal.close(this.ID);
}

}
</code></pre>

<p>All works fine but the problem appear when i want inject service in any else Component and send message to rest of subscribers. I don't know how i can share message for all elements type of 'modal'. I can hook DOM element but i have problem with Component. How i can hook a all 'modal' elements to observable? </p>

<p>Thanks for help</p>