如何为Observable <objectType>赋值?

时间:2019-07-23 23:39:18

标签: angular

我有此代码,但无法分配数据。 为什么这不起作用?我应该使数据可观察吗?

student:Observable<Student>;
ngOnInit() {
this.id = this.router.snapshot.paramMap.get('id');
this.service.getStudent(this.id).subscribe(data => {
  this.student = data;
});

1 个答案:

答案 0 :(得分:0)

student设为某些Observable的{​​{1}}

BehaviorSubject

然后更新可观察的_student: BehaviorSubject<Student> = new BehaviorSubject<Student>(null); student: Observable<Student> = this._student.asObservable(); 的值,我们可以做

student

因此对于您的代码,它看起来像

this._student.next(newValue)  // the data of student observable is now set to newValue

每次调用this.service.getStudent(this.id).subscribe(data => { this._student.next(data); }); 时,订阅student都会使用新值触发。