Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

ERROR in src/app/lista/lista.component.ts(17,6): error TS2339: Property 'get' does not exist on type 'HttpClient'.

O seguinte erro está ocorrendo para mim:

 ERROR in src/app/lista/lista.component.ts(17,6): error TS2339: Property 'get' does not exist on type 'HttpClient'.

=====================================================================

Conteúdo do lista.component.ts:

import { Component, OnInit } from '@angular/core';
import { HttpClient } from 'selenium-webdriver/http';

@Component({
  selector: 'gcLista',
  templateUrl: './lista.component.html',
  styleUrls: ['./lista.component.css']
})
export class ListaComponent implements OnInit {

  logs;

  constructor(private http: HttpClient) {
    const url = 'localhost:3433/gc';

    http
    .get<Object[]>(url)
    .subscribe(logs => this.logs = logs, err => console.log(err));
  }

  ngOnInit() {
  }

}

=====================================================================

Conteúdo de app.module.ts:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';

import { AppComponent } from './app.component';
import { ListaComponent } from './lista/lista.component';

@NgModule({
  declarations: [
    AppComponent,
    ListaComponent,
  ],
  imports: [
    BrowserModule,
    HttpClientModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Poderiam me ajudar?

2 respostas

O problema esta na importação no lista.component.ts:

import { HttpClient } from 'selenium-webdriver/http';

Esse import estava errado. Agora tenho um outro problema:

Nada é exibido na tela.

A tela fica totalmente em branco.

Parece que o backend não retornou nada, mas indo diretamente na URL do backend, ela funciona.

O que pode ter acontecido?

Boa tarde, Matheus! Como vai?

Como vc bem observou, a importação do HttpClient estava errada! O correto é importar de @angular/common/http!

Agora, sobre o segundo problema que vc levantou, experimente fazer assim

http
    .get<Object[]>(url)
    .subscribe(logs => console.log(logs), err => console.log(err));

e veja o que é impresso no console do seu navegador. Talvez nos dê alguma pista sobre o que está acontecendo!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!