2017-08-27 16 views
0

は、クラスのプロパティを持つ2角形のngModelの形をしています。しかし、私は2つのプロパティがこの値(パスワードとconfirmPassword)を取得する2つのプロパティは、この値(電子メールとユーザー名)を取得し、 はそれの構文は何である私はこれを試してみましたが、それは誤り送信します?ngModelで2つのプロパティを使用する方法は?

export class CreateUser { 
mail: string; 
UserName: string; 
password: string; 
confirmPassword: string;} 

おかげで、あなたは簡単な方法で支援するためにたくさん:

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

createuserはがでCreateUserの目的です。

+1

わからないが、私は、これはサポートされていないと思う: – micronyks

+1

電子メールをユーザー名として使用する場合は、ユーザー名フィールドを省略し、バックエンドに適切に設定してください。パスワードについては、1つの入力フィールドでパスワードと確認パスワードを設定したい場合、あなたのconfirmpasswordフィールドは存在していても意味がありません。 2つの別々のフィールドを使用します。 – bgse

答えて

0

角度サポートバインディングngModelを2つのプロパティにバインドするとは思われません。しかし、あなたのタスクを達成することは以下のようにngModel(event)を組み合わせることで可能です:

  • [(ngModel)]を経由してメールプロパティをバインドします。
  • 次に、inputイベントリスンを使用して、ユーザー名をメールにバインドします。

component.html

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

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

component.ts

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; 
+0

ありがとうAbdelaziz、はい、あなたは正しいですが、私は前にこれを行う必要があります。 –

0

は多くのことを考えた後、私はTSの構成要素には、次のように行うことができました。
+0

この作品はありますか? –

+0

はい、成功しました –

関連する問題