我有一个接受TimeInterval属性的TimeInputComponent:
export class TimeInterval {
startTime = "0000";
endTime = "0000";
}
@Component({...})
export class TimeInputComponent {
startTime: string;
endTime: string;
private _interval: TimeInterval;
@Input()
set interval(value: TimeInterval) {
this._interval = value;
this.startTime = this.addColon(value.startTime);
this.endTime = this.addColon(value.endTime);
}
private addColon(time: string) {
return time.substr(0, 2) + ':' + time.substr(2, 2);
}
}
我使用TimeInputComponent' s startTime
和endTime
来显示模板中冒号的时间,例如: G。 10:00
。如何检测_interval
字段的更改时间,以便我可以更新startTime
和endTime
?
明显的方法就是这样写:
{{addColon(_interval.startTime)}}
但这里不可能,因为我必须在startTime
上独立更新endTime
和_interval
(请参阅更新1)。
我希望有可能是我要求的,因为更改检测模型了解何时必须重新计算模板中的_interval
表示,那么为什么我不能在组件中获取此事件?
我像这样使用startTime
:
<input #start type="text" [ngModel]="startTime" (ngModelChange)="onTimeInputChange($event, start, 'start')">
我允许用户编辑startTime
值,并且只在centain情况下将更新的值推回到_interval。