Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Não reconhece o providedIn

Estou declarando providedIn mais nao reconhece minha declaração.

E aparece esse erro no console

    StaticInjectorError(AppModule)[AppComponent -> PhotoService]: 
  StaticInjectorError(Platform: core)[AppComponent -> PhotoService]: 
    NullInjectorError: No provider for PhotoService!
    at _NullInjector.get (core.js:1003)
    at resolveToken (core.js:1301)
    at tryResolveToken (core.js:1243)
    at StaticInjector.get (core.js:1111)
    at resolveToken (core.js:1301)
    at tryResolveToken (core.js:1243)
    at StaticInjector.get (core.js:1111)
    at resolveNgModuleDep (core.js:10896)
    at NgModuleRef_.get (core.js:12129)
    at resolveDep (core.js:12619)
5 respostas

Ninguem passou por esse problema, será que é a versão do angular ?

Segue o código abaixo

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';


const API = 'http://localhost:3000';

@Injectable({providedIn: 'root' })
export class PhotoService {

  constructor(private http: HttpClient ){}

  listFromUser(userName: string){

      return this.http
      .get<Object[]>(API + '/flavio/photos');

  }

}

Meu App.module esta assim

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { PhotosModule } from './photos/photos.module';
import { HttpClientModule } from '@angular/common/http';



@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    PhotosModule,
    HttpClientModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
solução!

Bom dia.

ProvidedIn só funciona com Angular 6. É esta versão do Angular que você esta usando? Se sim, verifique se o arquivo esta salvo e atualizado no seu projeto, pois só a presença do @Injectable({providedIn: 'root' })só é suficiente para que o serviço seja injetado.

Olá Flavio, muito obrigado por tirar minhas duvidas.

Consegui atualizar a versão do meu angular cli com o comando

npm install -g @angular/cli@latest

Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software