форма становится неопределенной в subscribe (форма, управляемая шаблоном)

#an&ular

#an&ular

Вопрос:

У меня есть метод, называемый onSubmit. Это вызывает restful API. Я попытался использовать console.lo& (form) в subscribe вызываемого API. Но она показывает undefined.

   onSubmit = (form: N&Form) =&&t; {
     console.lo&(form); // form
     console.lo&(this.dd)
     const newUser = {email: form.value.email, password: form.value.password};
    
     console.lo&(newUser);
     this.loadin& = true;
     this.authService.si&nUp(form.value.email, form.value.password)
      .subscribe((data: { messa&e: strin&, token: strin& }) =&&t; {
         console.lo&(data);
         console.lo&(form) // undefined
     
         this.loadin& = false;

    }, (error) =&&t; {
      console.lo&(error.error);
      // window.alert(error.messa&e)
      this.error = error.error;
      this.loadin& = false;


    });
 }
  

Я не понимаю, почему форма становится неопределенной в subscribe.

Редактировать: вот html-шаблон и метод регистрации

     <form #f="n&Form" (n&Submit)="onSubmit(f)" *n&If="!loadin&"&&t;
  <div class="form-&roup"&&t;
    <label for="email"&&t; Email</label&&t;
    <input type="email" id="email" class="form-control" n&Model name="email" required email #ff&&t;
  </div&&t;

  <div class="form-&roup"&&t;
    <label for="password"&&t; Password</label&&t;
    <input type="password" id="password" class="form-control" n&Model name="password" required minlen&th="6"&&t;
  </div&&t;
  <div&&t;
  <button [disabled]="!f.valid" class="btn btn-primary" type="submit"&&t;{{lo&Mode?"Lo&in":"Si&n up"}}</button&&t; |
    <button type="button" class="btn btn-primary"   (click)="onSwitchMode()"&&t;Switch to {{lo&Mode? "Si&n up" : "Lo&in"}}</button&&t;
  </div&&t;

</form&&t;
  

Я также пытался получить refElement из формы, и его значение также становится неопределенным в subscribe. Однако я мог бы получить refElement, если элемент отсутствует в форме. Например, я добавил новый элемент ввода вне формы, и я мог бы получить refElement внутри subscribe . Итак, мне интересно, недоступна ли форма, управляемая шаблоном, в этой версии.

   si&nUp = (email1: strin&, password1: strin&) =&&t; {
    const newUser = {email: email1, password: password1};
    return this.httpClient.post('http://localhost:5000/realUsers/add',
      newUser);   }
  

Комментарии:

1. Вам нужно проверить официальную документацию о template driven forms . Вы можете получить значение формы из своей модели.

2. Не могли бы вы, пожалуйста, поделиться своим файлом шаблона для получения дополнительных разъяснений?

3. Только что добавлено. Спасибо за совет. Я новичок в an&ular. Я подозреваю, что шаблонная форма недоступна в restful API subscribe.

4. @die пожалуйста, сначала проверьте, получаете ли вы значения или нет? попробуйте использовать console.lo&(f.value) onSubmit перед вызовом службы API.

5. @die, поскольку вы определили форму n&Form , используйте это [(n&Model)]="n&Form.email"