Angular 获取模板驱动的角度表单的值时出错

Angular 获取模板驱动的角度表单的值时出错,angular,angular-forms,Angular,Angular Forms,在register函数中,我在存储表单控件的值时遇到错误 使用“let firstname”、“let lastname”、“let email”我得到 错误[tslint]标识符“firstName”从未重新分配;使用 “const”而不是“let”。(首选常量) 使用调试器我在使用调试器时遇到错误[tslint] 禁止使用语句(无调试器) 此外,在控制台中,我收到错误无法读取属性“value” 未定义的属性 Html-> <div class="container"> <

在register函数中,我在存储表单控件的值时遇到错误

使用“let firstname”、“let lastname”、“let email”我得到 错误[tslint]标识符“firstName”从未重新分配;使用 “const”而不是“let”。(首选常量)

使用调试器我在使用调试器时遇到错误[tslint] 禁止使用语句(无调试器)

此外,在控制台中,我收到错误无法读取属性“value” 未定义的属性

Html->

<div class="container">
  <div class="row">
    <div class="form-bg">
      <form #regForm ='ngForm' (ngSubmit) ="register(regForm)">
       <h2 class="text-center"> Registeration Form </h2>
      <br/>
      <div class="form-group">
       <input type="text" class="form-control" placeholder="First Name" name="firstname" ngModel>
      </div>  


      <div class="form-group">
          <input type="text" class="form-control" placeholder="last Name" name="lastname" ngModel>
         </div>  


      <div class="form-group">
          <input type="text" class="form-control" placeholder="Eamil Id" name="email" ngModel>
         </div>  

          <br/>

          <div class="align-center">
            <button type="submit" class="btn btn-primary" id="register"> Register </button>
          </div>
          </form>   
      </div>  
  </div>
</div>

登记表


登记
由于错误显示您未使用firstName,因此未将其分配给任何变量,只需将其更改为const即可,这样应该可以正常工作

const firstName =  regForm.control.firstname.value;
const lastname = regForm.control.lastname.value;
const email = regForm.control.email.value;
使用const的原因是代码块内的值不会更改,而使用let将允许更改变量

无法读取未定义错误的属性“值”

是因为

您已将
控件
编写为
控件
。取代它,它应该会起作用

register(regForm: any) {
    debugger;
    let firstName =  regForm.controls.firstname.value;
    let lastname = regForm.controls.lastname.value;
    let email = regForm.controls.email.value;    
   alert(firstName);
   console.log(regForm);    
}

您可以忽略第一个警告,或者如果您将
let
更改为
const
,也可以忽略第一个警告,因为设置后您不会修改它们。

谢谢,我遇到了错误,我在这里使用了regForm.control,但我忽略了控制中的s。 所以会有

让firstName=regForm.controls.firstName.value; 让lastname=regForm.controls.lastname.value; 让email=regForm.controls.email.value

对于禁用禁用调试器语句警告应用此规则,n
tsconfig.json


什么是
regForm
?你能添加html吗?我已经添加了请看如果可能的话,你能解释为什么我们使用const而不是let或ver@AnuragRanjan应该使用
const
更好,但不是因为不能重新分配值。看看我在哪里简要解释了为什么要使用const@mast3rd3mon希望它现在有意义Hello@Sajeetharan在用const替换let之后,我又收到一个错误,上面写着“无法读取未定义的属性‘值’”。我已经为您的问题添加了一个答案。为什么不接受它而不是自己再写同样的答案呢。
register(regForm: any) {
    debugger;
    let firstName =  regForm.controls.firstname.value;
    let lastname = regForm.controls.lastname.value;
    let email = regForm.controls.email.value;    
   alert(firstName);
   console.log(regForm);    
}
"rules": {
    "no-debugger": false,
    //... 
}