Typescript angular 2 ng-book语法

时间:2016-07-23 16:00:11

标签: typescript angular

任何人都可以解释一下代表什么:

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 个答案:

答案 0 :(得分:1)

BehaviorSubject继承自Subject。从服务的用户的角度来看,他们并不关心,但BehaviorSubject初始化为初始值,因此构造函数的null参数。在这种情况下,任何订阅它的类都会立即获得一个值null,甚至在调用.next之前。

至于User中的Subject<User>SubjectBehaviorSubjectgeneric types。这可以让您知道它们的操作类型,当您订阅它们时,您可以获得代码完成,因为您的开发环境知道它的类型。