【问题标题】:Why change mat-radio-button returns reversed value?为什么更改 mat-radio-button 返回反转值?
【发布时间】:2020-04-05 01:38:15
【问题描述】:

我有单选按钮:

<mat-radio-group [ngModel]="model">
    <mat-radio-button *ngFor="let d of ['a', 'b']" [value]="d" (change)="change()">
    {{ d }}
    </mat-radio-button>
</mat-radio-group>

方法是:

public change(): void {
   console.log(this.model);
}

为什么当我更改收音机时,敌人示例点击 a 元素我在控制台中得到 b 元素?

【问题讨论】:

    标签: angular angular8


    【解决方案1】:

    我在StackBlitz 中生成了您的代码的工作版本。

    首先,将[ngModel]="model" 更改为[(ngModel)]="model"。当您需要双向模板绑定时,您当前正在使用单向模板绑定。这里的问题是只有双向绑定会将更新从模板发送到您的模型。

    请参阅Angular binding syntax 了解更多信息。

    其次,这里的change() 事件在模型更新之前运行。这就是为什么您会看到旧值被打印出来。如果您以无值开头的model,那么您会注意到您的原始代码将打印undefined 作为第一个输出。

    【讨论】:

      猜你喜欢
      • 2021-02-14
      • 2020-12-01
      • 2014-06-13
      • 2019-02-06
      • 1970-01-01
      • 2019-05-22
      • 2021-07-26
      • 2019-05-30
      • 2018-08-07
      相关资源
      最近更新 更多