Estou tendo problema com a sintaxe do Injectable Quando coloco : @Injectable({providedIn: 'root'}) no código, o Visual Studio Code fica indicando um erro dizendo que eram esperados 0 argumentos.... Estou esquecendo algo?
Estou tendo problema com a sintaxe do Injectable Quando coloco : @Injectable({providedIn: 'root'}) no código, o Visual Studio Code fica indicando um erro dizendo que eram esperados 0 argumentos.... Estou esquecendo algo?
Boa noite. Cole pra nós o código completo deste arquivo?
import { Mecanica } from './../../modelos/mecanicas';
import { HttpClient } from "@angular/common/http";
import { Injectable } from '@angular/core';
const API = 'http://localhost:8080/api/carros/listaTodos';
@Injectable ({providedIn: 'root'})
export class ServicoService{
constructor(private http: HttpClient){}
listMecanica(mecanica) {
return this.http.get<Mecanica[]>(API);
}
}
Estou desenvolvendo em Ionic 3 um app que é montado em cima do angular , e estou recebendo o erro por causa da requisição da web API nessa parte, apesar de ter importado o modulo HTTPMODULE estou recebendo a mensagem dizendo que não há provider para o método ''ServicoService" e o visual studio não aceita a forma que o @Injectable foi escrita acima
Ah, agora ficou mais claro. É uma aplicação feita em Ionic 3 e não projeto do curso. Muito bem, a versão do Ionic que você esta usando não suporta treeshakable providers e por isso não aceita a instrução providedIn
. Nesse caso, sugiro da uma olhada no curso de Ionic 3 da Alura. Lá ele mostra como carregar os providers diretamente nos módulos (sem providedIn).
Em suma, seu problema é de compatibilidade da versão do Angular usando pelo seu Ionic 3. Por isso que ele diz que Injetable recebe 0 argumentos, por que versões mais antigas do Angular o Injetable não recebe parâmetro algum.
O Angular do curso é o mais novo atualmente, Angular 6. Top do Top do Top. O Ionic sempre fica um pouco para trás na versão do Angular. E se você tentar atualizar o Angular do seu Ionic corre o risco de quebrar o projeto inteiro.