你需要用BehaviorSubject,
- BehaviorSubject与ReplaySubject类似,只是它只记得上一次发布的内容.
- BehaviorSubject还要求您为其提供默认值T.这意味着所有订阅者将立即收到一个值
它将为您提供《观察者报》发布的最新值.
BehaviorSubject提供一个名为value
的getter
属性来获取传递给它的最新值.
//Declare a Subject, you'll need to provide a default value.
const subject: BehaviorSubject<string> = new BehaviorSubject("a");
用法:
console.log(subject.value); // will print the current value
如果您想隐藏您的BehaviorSubject而只公开它的值,比方说对服务公开,您可以使用这样的getter.
export class YourService {
private subject = new BehaviorSubject('random');
public get subjectValue() {
return this.subject.value;
}
}