Чтение элементов формы в свойство компонента

Я пытаюсь прочитать значения атрибутов HTML-элементов, таких как тег ввода в угловых 2. Мой предпочтительный способ прочитать это было бы связать элемент ввода со свойством компонента, не создавая другой класс модели

Два из известных мне решений:

1) Использование объекта JSON: создайте ссылочную переменную для формы:

<form (ngSubmit)="onSubmit(loginForm)" #loginForm="ngForm"> 

и мой компонент входа станет

onSubmit(form:NgForm){
    console.log(form.value);
}

2) Создайте объект модели и инициализируйте его в компоненте

user=new User();
onSubmit(form:NgForm){
   console.log(user.username); 
}

и в HTML

<input type="text" id="username" name="username" 
            [(ngModel)]="user.username" #username="ngModel"/>

Но я не хочу использовать какой-либо из вышеупомянутых подходов (не хочу использовать объект JSON, НОР не хочу создавать объект модели для каждой представленной формы... должен ли я?)

Я хочу связать атрибуты компонента, чтобы сформировать напрямую. Так как то так

Я хочу прочитать, что пользователь вводит в элементе ввода username напрямую в свойство LoginComponent username (фокус на [(ngModel)]="username" вместо [(ngModel)]="user.username"

<form (ngSubmit)="onSubmit()" #loginForm="ngForm">
                <input type="text" id="username" name="username"     [(ngModel)]="username" #username="ngModel"/>
                {{username}}           
      <button type="submit">Login</button>
 </form>

@Component({'
.. something
  templateUrl: './login.component.html'
})
export class LoginComponent implements OnInit {
   username:string;
  onSubmit(){
    console.log(username);
    console.log(user?.username);
  }  
}

РЕДАКТИРОВАТЬ Я пытался использовать "это"

onSubmit(){
    console.log(this.username);
  }

но я получил ошибку: zone.js:632 Ошибка: необработанная (в обещании): ошибка: невозможно присвоить ссылку или переменную!

Error: Cannot assign to a reference or variable!
 Thanks in advance for the help

0 ответов

Другие вопросы по тегам