Angular 2 - Implementierung von Shared Services

Ich versuche, eine Lösung zu implementieren, die ich hier in Stack Overflow gefunden habe, aber mit Schwierigkeiten konfrontiert bin. Ich habe einen Service und eine Komponente und etwas stimmt bei der Implementierung nicht.

Der Fehler: TypeError: Die Eigenschaft 'next' von undefined kann nicht gelesen werden. Was könnte falsch sein oder fehlen? Fehlt noch etwas? Auch in meinem Terminalfenster wurde dieser Fehler angezeigt, der sich jedoch nicht auf meine Browserkonsole auswirkt: Fehler TS1005: '=>' erwartet.

import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import {Observer} from 'rxjs/Observer';
@Injectable()
export class GlobalService {
data: any;
dataChange: Observable<any>;
constructor() {
this.dataChange = new Observable((observer:Observer) { // this is the TS1005 error.
  this.dataChangeObserver = observer;
});
}
setData(data:any) {
this.data = data;
this.dataChangeObserver.next(this.data); //Line of the critical error (next)
} 
}

und dies ist die Komponente, die den Dienst verbraucht .... (Ich werde nur die relevanten Zeilen platzieren)

import {GlobalService} from "../../../global.service";
import(...)
@Component({
    providers: [GlobalService],
template: `<p>{{myData}}<>/p><span (click)="addTag(1, 'test')">Add more</span>` 
});
export class MyComponent  {
    addTag (id,desc){
       this._global.setData({ attr: 'some value' });
    }
}
constructor(private _global: GlobalService) {

}

Also, was ist falsch und / oder fehlt, damit diese einfache Komponente Ergebnisse anzeigt und neue Elemente hinzufügt und beobachtbar ist? Ich habe noch nie Observables implementiert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage