将禁用的输入字段中的值设置为ngModel

时间:2018-04-15 12:02:09

标签: html angular angular5 angular-ngmodel

我是angular5和spring的新手,我需要帮助与数据库进行角度通信。

我需要进行用户注册,为此我使用了auth0(它只是用电子邮件和密码进行基本注册),现在我需要收集更多关于用户的数据(电子邮件,姓名,城市,电话等) )并将其写入数据库。

我想使用用于注册的电子邮件(我不想让用户重复它)并将其传递给数据库。我可以收到auth0中使用的电子邮件(在我的代码中我将它放在this.userEmail中,如下例所示),但我不知道如何通过html部分进一步传递它。

这是我为用户的名字输入的示例,它工作正常。我试图为电子邮件做类似的事情,但它不会工作,我不明白为什么我也不应该这样做...请帮助

<label>Name:</label>
<mat-form-field>
    <input matInput type="text" placeholder="Name"
        [(ngModel)]="user.firstName" name="firstName" #name>
</mat-form-field>

这个悲伤的尝试:

<label>E-mail address:</label>
<mat-form-field>
    <input matInput type="text" placeholder=""
            [(ngModel)]="user.email" value="{{this.userEmail}}" name="email" 
            disabled #name>
</mat-form-field>

另外,我知道上面的内容完全是狼人,ngModel和输入字段的值就像这样工作,但我想(也许)更好地描述我想要实现的目标:) 我知道我可以使用auth0中的规则来收集更多关于用户的数据,但是对于某些学校的条件,我们仅限于这样:/

1 个答案:

答案 0 :(得分:2)

component.html

<mat-form-field>
  <input matInput [ngModel]="user.email" name="email" disabled>
</mat-form-field>

<强> component.ts

ngOnInit() {
  this.user.email = this.userEmail;
}

我也会考虑根本不显示电子邮件输入。毕竟,如果用户已经给你发了电子邮件,为什么要把他们与这个禁用的输入混淆?