как получить входное значение в html-компоненте из класса службы, чтобы обновить переменную, которую имеет эта служба

Добрый день, разработчики, я пытаюсь найти способ получить значение, которое входящий тег html имеет из моего класса обслуживания в том же классе angular. Этот ввод прикреплен к ngForm, таким образом, связан с компонентом интерфейса модели для проверки этой формы Я попытался импортировать тот же компонент интерфейса модели в класс обслуживания, чтобы получить к нему доступ, но не работает. Это услуга:

***variable type model interface***

formSignup: signUpForm = {
    nameUser: '',
}=========>model interface component also imported to service in order to access whichever values user insert in it

***method where in the variable gets updated accesisng the model interface***

 async signUpUser(emailUser: string, passwordUser: string) {
    some code.....

  await responseOk.user.updateProfile({
     displayName:this.formSignup.nameUser});===>this is the value i want to update dynamically from the 
                                                 input value

    more code......
}

Вот мои компоненты html, model и component.ts, связанные с моей проблемой:

HTML
    <form #submitSign='ngForm' (submit)="signUp(submitSign.value)">
      <input type="text" [(ngModel)]="formSignup.nameUser" name="nameUser" class="form-control" 
      id="nameUser"  placeholder="Name " #nameUser="ngModel"
   </form>

MODEL INTERFACE

export interface signUpForm{
  nameUser?:string,
}

COMPONENT.TS

formSignup: signUpForm = {
    nameUser:'',
    emailUser: '',
    passwordUser: '',
    confirmPasswordUser: '',
    imageUser: '',
  };


  constructor(
    private signUserUp: service){}

  ngOnInit(): void {}

  signUp(value: signUpForm) {
    this.signUserUp
      .signUpUser(value.emailUser, value.passwordUser)
      .then((response) => {

         some code.......
      })
      .catch((error) => error.messages);
}

Есть идеи, как это улучшить? Заранее спасибо !!!


person Enrique GF    schedule 21.05.2020    source источник
comment
Я предпочитаю подход FormBuilder для ReactiveForms, таким образом вы можете лучше следовать методам SOLID и DRY. Но что действительно может двигать вашим кодированием, так это написание тестов до написания кода, это трудно объяснить. Вам нужно прочитать что-то или, может быть, много о TDD и модульном тестировании в angular. пример кода без теста stackblitz.com/edit/   -  person Radik    schedule 21.05.2020
comment
Я думаю, что таким же образом вы можете реорганизовать компонентную службу, как в примере   -  person Radik    schedule 21.05.2020
comment
видео, как просто приступить к тестированию youtube.com/   -  person Radik    schedule 21.05.2020
comment
На самом деле еще раз спасибо, Радик .... я подробно рассмотрю то видео, которое ты мне прислал, и немного углублюсь в концепции. Спасибо за твою помощь !!!   -  person Enrique GF    schedule 22.05.2020