Creating an Observable authentication service using BehaviorSubjects
One of the most obvious and useful cases of the Observer Pattern is the one in which a single entity in your application unidirectionally communicates information to a field of listeners on the outside. These listeners would like to be able to attach and detach freely from the single broadcasting entity. A good initial example of this is the login/logout component.
Note
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/6957/.
Getting ready
Suppose you have the following skeleton application:
[app/login.component.ts] import {Component} from '@angular/core'; @Component({ selector: 'login', template: ` <button *ngIf="!loggedIn" (click)="loggedIn=true"> Login </button> <button *ngIf="loggedIn" (click)="loggedIn=false"> Logout ...