2016-07-23 185 views
0

誰能給我解釋一下什麼立場:打字稿角2 NG-書語法

Subject<User> = new BehaviorSubject<User>(null); 

export class UserService { 
    // `currentUser` contains the current user 
    currentUser: Subject<User> = new BehaviorSubject<User>(null); 

    public setCurrentUser(newUser: User): void { 
    this.currentUser.next(newUser); 
    } 
} 

請:)

我不明白,TS類型的使用在這種情況下,

回答

1

BehaviorSubject繼承自Subject。從服務用戶的角度來看,他們並不關心,但BehaviorSubject初始化爲初始值,因此構造函數的參數爲​​null。在此情況下,任何訂閱該類的類都將立即獲得值null,即使在調用.next之前也是如此。

至於在Subject<User>SubjectBehaviorSubjectUsergeneric types。這讓你知道他們使用的是什麼類型,當你訂閱它們時,你可以得到代碼完成,因爲你的開發環境知道它得到的是什麼類型。