对值应用函数时,双向数据绑定不起作用

Two-Way Data Binding not working when applying function on value

我正在尝试为我的输入字段实现双向数据绑定。

如果我直接使用该值,它会按预期工作。通过工作我的意思是当 typing/changing 输入字段值时值立即更改。

但是,我想 "replace" 地图中的值与其对应的值。

<mat-form-field class="steuersatz">
    <input matInput placeholder="EU Taxcode" type="text" formControlName="euTaxCode" [matTooltip]="'EU Taxcode'" [matTooltipPosition]="'above'"/>
    <button mat-button matSuffix mat-icon-button (click)="edit('euTaxCode', $event)">
          <mat-icon>edit</mat-icon>
    </button>
</mat-form-field>

<div class="taxcodeName">
    <p>{{taxcodeName}}</p>
</div>

作品:

// taxcode, taxcodeName
taxcodes = new Map();

this.taxForm.get('euTaxCode').valueChanges.pipe(takeUntil(this.unsubscribe$)).subscribe(data => {
  // data = euTaxCode
  this.taxcodeName = data;
});

无效:

// taxcode, taxcodeName
taxcodes = new Map();

this.taxForm.get('euTaxCode').valueChanges.pipe(takeUntil(this.unsubscribe$)).subscribe(data => {
  // data = euTaxCode
  this.taxcodeName = taxcodesList.get(data);
});

解决方案是使用 parseInt() 将数据从字符串转换为数字。因此,这既不是一般数据绑定的问题,也不是 get 函数的问题。