Erro ao carregar tela de cadastro ANGULAR 2 - Cannot read property of undefined


(Richard Mason) #1

Quando abro a tela de um formulário me apresenta um erro:

ORIGINAL EXCEPTION: Cannot read property 'cliente' of undefined

Componente:

<select class="form-control input-lg" formControlName="cliente" name="cliente" [(ngModel)]="usuario.cliente">
  <option [ngValue]="">Selecione</option>
  <option *ngFor="let cliente of clientes" [ngValue]="cliente" [selected]="usuario.cliente.codigo==cliente.codigo ? true : null">{{cliente.nome}}</option>              
</select>

Isso acontece quando tento criar um novo cadastro, se eu utilizar a opção editar, que já trás o registro preenchido, não da erro.

Variável no arquivo TS:

@Input() usuario: Usuario = new Usuario();


(Luan Maik) #2

O Angular não reconhece o atributo cliente de usuário.
Ex:

let veiculo = new Veiculo();
console.log(veiculo.marca);

se na classe Veiculo não estiver explicito a existência do atributo "marca" irá dar o mesmo erro, porque vc está acessando um atributo que não existe.