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