我有一个注册事件的表格,我要求一个日期,时间以及事件是否重复发生(每天,每周,每月或完全没有)。
我还设置了另一个输入供用户指定重复结束的时间。问题是有两种“终止复发”的方法。我有一个“重复次数”(以防万一,例如,您想每周重复一次该活动,持续两周),但是如果您想指定结束日期(例如,您希望它重复一次),我也有一个datepicker
每天,直到9月1日。
当其中一个输入的值更改时,我会触发一个函数来更新另一个输入,因此它保持一致
例如,如果我指定我希望它每天重复一次并设置5次,那么我的日期选择器将显示离原始日期5天的日期,反之亦然。
问题是,由于我有两个输入的更改侦听器,因此当用户更改一个输入时,我会(以编程方式)更改另一个输入的值,并且也会触发该输入上的valueChanges
,因此它会不断地来回移动。
所有介绍之后,您有什么建议可以建议区分“用户做出的”更改和我在inputValueChanges
所做的更改吗?
答案 0 :(得分:2)
当您使用fully supports distributed transactions更新表单控件值时,可以将emitEvent选项设置为false。这将阻止valueChanges触发更改。
yourControl.setValue(newValue, { emitEvent: false });