我有此代码,但无法分配数据。 为什么这不起作用?我应该使数据可观察吗?
student:Observable<Student>;
ngOnInit() {
this.id = this.router.snapshot.paramMap.get('id');
this.service.getStudent(this.id).subscribe(data => {
this.student = data;
});
答案 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
都会使用新值触发。