模糊在数据绑定angular 4 firefox之前触发

时间:2017-12-08 21:56:33

标签: angular firefox

我有一点角度,为模糊功能提供日期。在Chrome(v62)中,它可以正常工作,但似乎不适用于Firefox(57)。

// HTML

<input #expirationDate type="date"  max="2999-12-31" class="form-control" name="ChargeExpirationDate" [ngModel]="charge.ExpirationDate" (blur)="editCharge(charge, 'ExpirationDate', expirationDate.value)"/>

// TS组件

editCharge(charge: object, property: string, newValue: any): void {
  console.log(newValue);
  console.log(charge);
  //other stuff
  charge[property] = newValue;
}

如果您键入日期并且输入失去焦点

  • 在Chrome中:调用该函数,newValue包含日期字符串。

  • 在Firefox中:该功能会触发,但newValue设置为""。更奇怪的是,console.log(charge);的结果实际上将包含字符串,但仅在editCharge函数完成后才能观察到。

有没有办法在Firefox中的模糊事件之前正确设置newValue?我不想使用ngModelChange,因为我们在尝试使用Chrome键入日期时注意到了一些不寻常的行为。

1 个答案:

答案 0 :(得分:1)

与评论一样,您应该使用SELECT * FROM ( (SELECT 'January' AS col1 ) UNION (SELECT 'December' AS col1 ) ) AS derivedTable 事件代替focusout

blur