我编写了一项服务,可以从一个组件中获取价值,以便其他组件可以立即拥有该价值。 假设在component1中,我将值“ episodes”作为字符串发送(contentType) 在DataService中,它打印= console.log(contentType)//情节
如果第二次我再次从component1作为字符串发送值“ songs” 它在DataService中打印// songs 但不会将值设置为behaviorSubject
中的歌曲第三次传递其他参数时,它会变成歌曲而不是最新值
它没有采用当前值,始终是先前的值。有什么错误?
contentType : string = "abc"
this.ds.checkValue(contentType);
ngOnInit() {
this.ds.contentTypeValue.subscribe(receivedType=> this.receivedType =
receivedType)
};
服务等级
export class DataService {
private contentTypeBs =new BehaviorSubject<string>(null);
contentTypeValue = this.contentTypeBs.asObservable();
public checkValue(contentType: string) {
console.log(contentType);
this.contentTypeBs.next(contentType);
}
constructor() { }
}
[1]: https://i.stack.imgur.com/Qp4F8.jpg
[2]: https://i.stack.imgur.com/VnZBh.jpg