Здесь у вас есть Stackblitz demo .
Изначально вы можете установить переменную ссылки на шаблон для первого входа, получив директиву ngModel
:
<input type="text" #first="ngModel" [(ngModel)]="exp.first" class="form-control">
После этого вы можете получить ссылку на этот элемент управления в машинописном тексте, подписаться на его изменения и скопировать в second
в модели:
@ViewChild('first') _ngModelFirst: NgModel;
// Best practice: let's unsubscribe from all observables
// when this component is destroyed
private _destroy$ = new Subject<void>();
exp: Exp = {
id: 1,
first: '',
second: ''
};
ngAfterViewInit() {
this._ngModelFirst.valueChanges
// Best practice: this pipe is just to finish the subscription
// when this._destroy$ emits
.pipe(takeUntil(this._destroy$))
.subscribe((value: string | null) => {
this.exp.second = value;
});
}
ngOnDestroy() {
if (this._destroy$ && !this._destroy$) {
this._destroy$.next();
this._destroy$.complete();
}
}