如何用一些表达式填充角度6 ngModel

时间:2018-12-08 11:03:02

标签: angular

Problem 尝试根据原始价格和折后价格填充discountPercentage。 discountPercentage正在填充,但未添加到模型中。

注意:我在discountPercentage输入中输入任何内容后,它便开始填充。

<input class="form-control" type="number" id="originalPrice" [(ngModel)]="ticket.originalPrice" name="originalPrice"/>

<input class="form-control" type="number" id="discountedPrice" [(ngModel)]="ticket.discountedPrice"name="discountedPrice" />

<input class="form-control" type="number" id="discountPercentage" [(ngModel)]="ticket.discountPercentage" name="discountPercentage" value="0" [value]="((ticket.originalPrice - ticket.discountedPrice)/ticket.originalPrice)*100" />

2 个答案:

答案 0 :(得分:0)

您需要将结果放入ticket.discountPercentage。由于模型绑定,Angular会检索ticket.discountPercentage的值。

除了您有两个值指令。如果要使用[value]指令,则需要删除“值”指令。

答案 1 :(得分:0)

您可以使用ngModelChange,值更改不会自动更改。

(ngModelChange)="OnModelChangeTicket()"

和您的ts

  OnModelChangeTicket() {
    this.ticket.discountPercentage = ((this.ticket.originalPrice - this.ticket.discountedPrice) / this.ticket.originalPrice) * 100
  }

demo