如何将输入字段附加到 Angular 2 中的另一个字段,前提是它是原始的?

How to attach input filed to another in Angular 2 only if it's pristine?

我有两个输入字段:

<input type="text" [(ngModel)]="title" name="title">
<input type="text" [(ngModel)]="og_title" name="og_title" value="{{ title }}">

我想让 og_title 字段等于 title 直到 og_title 是原始的。

如何在 Angular 2 (Angular 7)

中执行此操作

您可以分配给 ngModel

HTML

<input type="text" [(ngModel)]="title" name="title" (input)="assignToModel($event)">
    <input type="text" [(ngModel)]="og_title" name="og_title" value="{{ title }}">

TS:

assignToModel(event){
this.og_title = event.target.value;
}

我认为如果你使用 Reactive 表单而不是使用 ngModel 的双向绑定会更好,但这仍然有效:

<input type="text" [(ngModel)]="title" name="title" (input)="titleChanged()">
<input type="text" [(ngModel)]="og_title" name="og_title">

并且在 TS 文件中:

titleChanged(){
 if(<code to check if og_title is pristine>){
  this.og_title = this.title;
 }
}

用包含表单名称和输入字段原始状态的逻辑替换 <code to check if og_title is pristine>