任何人都可以解释一下代表什么:
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类型的用法
答案 0 :(得分:1)
BehaviorSubject
继承自Subject
。从服务的用户的角度来看,他们并不关心,但BehaviorSubject
初始化为初始值,因此构造函数的null
参数。在这种情况下,任何订阅它的类都会立即获得一个值null
,甚至在调用.next
之前。
至于User
中的Subject<User>
,Subject
和BehaviorSubject
是generic types。这可以让您知道它们的操作类型,当您订阅它们时,您可以获得代码完成,因为您的开发环境知道它的类型。