我正在通过官方食谱学习Angular2。
以下代码突然出现了。为什么 "missionAnnounced$" 没有变量声明?let missionAnnounced$ = ... 下面的代码逻辑是什么?
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class MissionService {
// Observable string sources
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
// Service message commands
announceMission(mission: string) {
this.missionAnnouncedSource.next(mission);
}
confirmMission(astronaut: string) {
this.missionConfirmedSource.next(astronaut);
}
}
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
这一行实际上是 MissionService 类的属性声明和初始化;与missionConfirmed$
行及其上面的两行私有行相同。 - Nagi