Javascript 如何获得Angular 10中下拉列表的新旧值

Javascript 如何获得Angular 10中下拉列表的新旧值,javascript,html,angular,angular-material,angular-ui,Javascript,Html,Angular,Angular Material,Angular Ui,我对角度非常陌生,仍然处于基本阶段 当选择下拉列表时,我尝试获取旧值和新值,但不确定如何进行。 我能得到新的价值,但不是旧的价值 需要将新旧值传递给角度函数 body.component.html: <div class="container"> <mat-label>Destination 1</mat-label> <mat-select #box (selectionChange)="removeFromPlanet(

我对角度非常陌生,仍然处于基本阶段

当选择下拉列表时,我尝试获取旧值和新值,但不确定如何进行。 我能得到新的价值,但不是旧的价值

需要将新旧值传递给角度函数

body.component.html:

<div class="container">
<mat-label>Destination 1</mat-label>
<mat-select #box (selectionChange)="removeFromPlanet(box.oldValue, box.newValue)">
  <mat-option *ngFor="let planet of planets" [value]="planet">
    {{ planet }}
  </mat-option>
</mat-select>
removeFromPlanet(old, new) {
console.log(old, new);}

但它不起作用。我哪里做错了?

您可以通过将值推入主题来处理以前的值和当前值,并使用成对运算符观察此主题。此运算符将发出流的上一个值和当前值。()

例如:

export class YOU_COMPONENT{

  private data: Subject<any> = new Subject<any>();

  checkTitle(value){
    this.data.next(value);
  }

  observeDataChange():Observable<[]>{
     // this return an observable of an array that contains [previous, current] data
     return this.data.asObservable().pipe(pairwise());
  }

}
export class YOU\u组件{
私有数据:主题=新主题();
检查标题(值){
this.data.next(值);
}
observedTachRange():可观察{
//这将返回包含[以前的,当前的]数据的数组的可观察值
返回此.data.asObservable().pipe(成对());
}
}

我没有足够的代表发表评论,但可能重复?使用NgModel