Связывание ввода с неопределенным объектом с помощью ngModel для создания нового пользователя

Мой html выглядит так

<form>
    <div class="input">
      <label  >Username</label>
      <br>
      <input [(ngModel)]="user.username" name = "username" type="text" id="username">
    </div>
    <div class = "input">
      <label >Password</label>
      <br>
      <input [(ngModel)]="user.password" name = "password" type="password" id = "password">
    </div>
    <div class = "input">
        <label >Confirm Password </label>
        <br>
        <input [(ngModel)]="passwordCheck" name = "passwordCheck" type="password">
      </div>
    <div >
      <input type="submit" (click)="addUser(user)" value="Register">
    </div>
  </form>

Я пытался привязать входные данные к свойствам класса пользователя, но при загрузке получаю сообщение об ошибке

import { Component, OnInit } from '@angular/core';
import { User } from '../user';
import { OsobaService } from '../osoba.service';

@Component({
  selector: 'app-register',
  templateUrl: './register.component.html',
  styleUrls: ['./register.component.css']
})
export class RegisterComponent implements OnInit {

  passwordCheck : string;
  user : User;

  constructor(private osobaService : OsobaService) { }

  ngOnInit() {}
  addUser(user : User)
  {
    this.osobaService.addUser(user);
  }

}

Как мне обойти эту ошибку консоли?

TypeError: Не удается прочитать свойство «имя пользователя» неопределенного Должен ли я использовать ngModel или мне это не нужно для этого?


person Алекса Јевтић    schedule 04.12.2017    source источник
comment
Просто объявите его как пустой объект типа User, user: User = new User(), если это класс без конструктора, user = <User>{}, если это интерфейс.   -  person AJT82    schedule 04.12.2017