kendo-scheduler的base-edit.service中的源代码做什么?

时间:2019-03-19 12:30:20

标签: angular kendo-ui rxjs kendo-scheduler

我试图了解kendo-ui中的编辑服务示例(link),以了解调度程序(在beta中)的角度。 EditService类扩展了BaseEditService。

我的代码中editService的read()函数如下:

public read(): void {
    if (this.data.length) {
        this.source.next(this.data);
        return;
    }

    this.fetch().subscribe(data => {
        this.data = data.map(item => this.readEvent(item));
        this.source.next(this.data);
    },null, null
    );
}

我不明白 this.source.next(this.data)的作用。

根据base-edit.service.d.ts:

/**
* The source subject for the `events` observable.
*/
protected source: BehaviorSubject<TEvent[]>;

深入研究BehaviorSubject(来自RxJS)揭示了一条评论

* A variant of Subject that requires an initial value and emits its current
* value whenever it is subscribed to.

我开始认为需要将this.data馈送到this.source.next()中,其原因不是像下面这样在一行中完成

 this.source.next(data.map(item => this.readEvent(item)));

是因为当数据已经存在时,if语句需要它。

0 个答案:

没有答案