mapsuscirber,如何访问组件变量?

mapsuscirber, how to access to component variables?

我有一个表格,我用一个 suscription 控制变化:

<form #f="ngForm">

  <mat-card-content>

    <mat-input-container>
      <input matInput [(ngModel)]="id" name="id" placeholder="id" (ngModelChange)="elementChanged$.next($event)"/>
      </mat-input-container>
   </mat-card-content>

</form>
export class myComponent implements OnInit {

 dataToGet: string;
 formChanged$: Observable<boolean>;
 elementChanged$: Subject<any> = new Subject<any>();
 elementSubscription: Subscription;

 constructor() {

   this.elementSubscription = this.elementChanged$  
     .debounceTime(500)
     .map(this.formHaveChanged)
     .subscribe(haveChanged => this.formChanged$ = haveChanged)
  }

  formHaveChanged(): Observable<boolean> {
    this.dataToGet -> fails because of this is mapSuscriber
    return Observable.of(true)
  }
}

所以我的问题很清楚,当我在 formHaveChanged() 函数中时 "this" 是 mapSuscriber 而不是 myComponent,我需要访问 mycomponent 变量,但我无法获取它,我该怎么办?

.map(this.formHaveChanged.bind(this))

.map(() => this.formHaveChanged())

this.formHaveChanged 是未绑定函数。您无权在未绑定函数中访问此内容。