如何从可观察对象的观察者处理程序中访问组件属性(变量和方法)?我已经阅读了许多关于可观察对象的示例,但是它们在处理程序中所做的全部是console.log(),它在现实生活中不是很有用(例如https://angular.io/guide/observables)。
当可观察对象完成时,我想在组件中同步操作。
export class MyComponent {
// Create simple observable that emits three values
const myObservable = of(1, 2, 3);
private myProperty = false;
private myObserver = {
next(position) {
console.log('position: ', position);
}
complete() {
this.myProperty = true;
}
}
constructor() {
myObservable.subscribe(myObserver);
}
}
执行此命令时,我得到this.myProperty未定义。
谢谢
答案 0 :(得分:3)
我认为您可以使用箭头功能来保留this
上下文:
private myObserver = {
next: (position) => {
console.log('position: ', position);
},
complete: () => {
this.myProperty = true;
}
}