实现可观察对象失败了,因为离子2忘记了观察者



我试图用以下类

实现可观察对象
import {Injectable, } from '@angular/core';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/share';
import {Observer} from 'rxjs/Observer';
@Injectable()
export class CalendarService {
dataChange: Observable<any>;
dataChangeObserver: Observer<any>;
    constructor() {
        this.dataChange = new Observable((observer) => {
            this.dataChangeObserver = observer;
        }).share();
    }
    setDate(date: any) {
        this.dataChangeObserver.next(date);
    }
}

当使用一个值调用setDate()时,我得到以下错误

ORIGINAL EXCEPTION: TypeError: Cannot read property 'next' of undefined
ORIGINAL STACKTRACE:
TypeError: Cannot read property 'next' of undefined

似乎没有定义观察者dataChangeObserver。但在调试时,我可以看到dataChangeObserver值我设置。但离子2在调用setDate(date: any)时却忘记了它

请查看我的问题的答案,我可以从父母向孩子发送事件,看看如何设置Observable和如何订阅它

最新更新