Angular 7 - component precisando de 2 cliques para atualizar no html
Boa noite, estou tento problemas com o Angular, seguinte:
O ts.
pedaço do html
A variável {{client.name}} da linha 12 só é alimentada quando eu clico duas vezes em buscar. E o engraçado é que no log, aparece nessa ordem, como se a última linha fosse a primeira a ser lida no método, e por isso o valor não aparece na tela, somente depois do 2 clique. Alguém sabe o motivo?
dados do console.log()
7undefined
1NomeCliente
2NomeCliente
4NomeCliente
O ts.
getCpfClient(idcpf: String) {
this.solicitation.content = idcpf;
this.solicitation.user = this.loginuser.user.email;
this.unicefService.getCpfClient(this.solicitation).subscribe(client => {
this.client = client;
if (this.client) {
console.log("1"+this.client.name)
this.dadosNulos = String(this.dadosNull(client));
this.addressNulos = String(this.addressNull(client));
this.contactNulos = String(this.contactNull(client));
this.idcpf = this.client.cpf;
this.client.address_type = this.replaceAdress(this.client.address_type);
this.client.noemail = this.replaceNo(this.client.noemail);
this.client.nomail = this.replaceNo(this.client.nomail);
this.client.nosms = this.replaceNo(this.client.nosms);
this.client.nowhatsapp = this.replaceNo(this.client.nowhatsapp);
this.clientNulo = false;
console.log("2"+this.client.name);
} else {
console.log("3"+this.client.name);
this.clientNulo = true;
this.errorMsgComponent.setError('Cliente não localizado na base de dados.');
}
console.log("4"+this.client.name);
}, () => {
console.log("5"+this.client.name);
this.errorMsgComponent.setError('Falha ao buscar dados do cliente.'); this.clientNulo = true; this.b_unicefSelected = false;
console.log("6"+this.client.name);
});
console.log("7"+this.client.name);
}
pedaço do html
<div class="container-fluid row col-sm-10 mb-3 mb-md-0" style="margin-top:5px; margin-bottom:5px;">
<mat-form-field>
<input matInput [(ngModel)]="idcpf" value="idcpf" placeholder="CPF do cliente"
id="idcpf" name="idcpf">
</mat-form-field>
<button style="margin-left: 8px; height: 50px;" mat-raised-button (click)="getCpfClient(idcpf)"
color="primary" >Buscar</button>
<button type="submit" style="margin-left: 8px; height: 50px;" mat-stroked-button
color="primary" (click)="openNewClient()">Novo Cliente</button>
<div style="font-size: larger" style="margin-left:15px;margin-top: 11px">
<label > Cliente em atendimento: <b> {{client?.name}}</b></label>
</div>
</div>
A variável {{client.name}} da linha 12 só é alimentada quando eu clico duas vezes em buscar. E o engraçado é que no log, aparece nessa ordem, como se a última linha fosse a primeira a ser lida no método, e por isso o valor não aparece na tela, somente depois do 2 clique. Alguém sabe o motivo?
dados do console.log()
7undefined
1NomeCliente
2NomeCliente
4NomeCliente
Moises Pereira
Curtidas 0