2017-05-16 7 views
0

私はlogin.component.htmlを作成していますが、その間に入力フィールドを作成し、login.component.tsにある変数emailにバインドします。もともと私はそれを書いていた:#var = "ngModel"の意味

<input type="text" placeholder="Enter Email" id="email" 
     [(ngModel)] = "email" name = "email" required #email="ngModel"/> 

が、私はそれを変更するまで、エラーを受け続けた:#em="ngModel"で起こっていると、なぜ私は非常に特定の値を使用することができます正確にどのような

<input type="text" placeholder="Enter Email" id="email" 
     [(ngModel)] = "email" name = "email" required #em="ngModel"/> 

答えて

1

彼らは説明あなたがthe form validation docsに記載されている参照構文:

テンプレート変数(#name)が値"ngModel"(常に ngModel)を持っています。これは、あなたがそのようなvaliddirtyなどの制御状態をチェックするために テンプレートでを使用することができます。このコントロールに関連付けられた角度NgModel ディレクティブへの参照を提供します。

問題は、あなたの@Componentクラスにemailという名前のプロパティを持っているし、そのテンプレートでemailという名前reference variableということです。

Error: Cannot assign to a reference or variable! 

は、プロパティまたは参照変数のいずれかの名前を変更(あなたのケースでは、あなたがemに後者を変更)問題が修正されています。あなたは見にエラーが故に、両方を持つことはできません。 に限定されているわけではありません。という特殊な値に変更されていない場合でも、プロパティではない有効な識別子に変更されている可能性があります。