Html 如何在ngModel中使用两个属性?

Html 如何在ngModel中使用两个属性?,html,angular,Html,Angular,在angular 2中的表单中,我用类的属性填充了ngModel。但我有两个额外的属性,例如,当用户填写电子邮件输入时,我需要两个属性获取此值(电子邮件和用户名),当填写密码输入时,两个属性获取此值(密码和确认密码)。 它的语法是什么?我尝试了这个,但它发送错误: <input [(ngModel)]="createuser.pasword;createuser.confirmPassword" name="password" type="password" minlength="6" r

在angular 2中的表单中,我用类的属性填充了ngModel。但我有两个额外的属性,例如,当用户填写电子邮件输入时,我需要两个属性获取此值(电子邮件和用户名),当填写密码输入时,两个属性获取此值(密码和确认密码)。 它的语法是什么?我尝试了这个,但它发送错误:

<input [(ngModel)]="createuser.pasword;createuser.confirmPassword" name="password" type="password" minlength="6" required>

非常感谢您以简单的方式提供的帮助。

我不认为角度支持将
ngModel
绑定到两个属性。但通过将
ngModel
(event)
组合起来,可以完成您的任务,如下所示:

  • 通过
    [(ngModel)]
    绑定邮件属性
  • 然后使用
    输入
    事件侦听将用户名绑定到邮件
component.html

<input type="text" [(ngModel)]="mail" (input)="setUserName($event)">
<p>
  mail {{mail}}
</p>

<p>
  username {{UserName}}
</p>

虽然这能正常工作,但我不明白使用它的必要性。正如上面评论中所说的,您可以将字段留空,然后在后端正确处理它。

经过深思熟虑,我发现我可以在ts组件中这样做:

this.createuser.mail=this.createuser.UserName;
this.createuser.confirmPassword=this.createuser.pasword;

不确定,但我认为这是不受支持的。如果你打算使用电子邮件作为用户名,只需省去用户名字段,并在你的后端适当设置它。至于密码,如果您想用一个输入字段设置password和confirmpassword,那么confirmpassword字段甚至在那里都没有意义。使用两个单独的字段。谢谢Abdelaziz,是的,你是对的,但我需要在前面这样做。
export class CreateUser{
  mail: string;
  UserName: string;
  password: string;
  confirmPassword: string;

  constructor() { }

  setUserName(event) {
    this.UserName = event.target.value;
    // or 
    // this.UserName = this.mail;
  }
}
this.createuser.mail=this.createuser.UserName;
this.createuser.confirmPassword=this.createuser.pasword;