3

ここStack Overflowで見つけたソリューションを実装しようとしていますが、困難に直面しています。私はサービスとコンポーネントを持っていますが、実装で何かが正しくありません。

エラー: TypeError: 未定義のプロパティ 'next' を読み取ることができません もっと足りないものはありますか?また、ターミナル ウィンドウでこのエラーが発生しましたが、ブラウザ コンソールには反映されていません: error TS1005: '=>' expected.

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)
} 
}

そして、これがサービスを消費するコンポーネントです....(関連する行のみを配置します)

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) {

}

では、この単純なコンポーネントに結果を表示し、新しい要素を追加して観察可能にするために、何が間違っているか、欠けているのでしょうか? 以前にオブザーバブルを実装したことはありません。

4

1 に答える 1