Recibo este error y soy nuevo en angular 2, por lo que no estoy 100% seguro de cómo resolver el problema, me estoy conectando a una API de prueba para devolver un objeto javascript que incluye algunos datos ficticios. Pero mi función "this.onGet()" me dice que el parámetro proporcionado no coincide con ninguna firma del destino de la llamada y parece que no puedo entender por qué. (Esencialmente, solo estoy tratando de completar la matriz orderInfo con la información de la API para poder usarla en varias páginas)
Cualquier ayuda apreciada :)
App.component.ts
import { Component, OnInit } from '@angular/core'; import { DetailsService } from './details.service'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'], providers: [DetailsService] }) export class AppComponent implements OnInit { orderInfo = [ { name: 'Test' } ]; constructor(private detailsService: DetailsService) { } ngOnInit() { this.onGet(); } onGet(name: string) { this.detailsService.getDetails() .subscribe( (orderData: any[]) => { this.orderInfo.push({ name: name }); console.log(orderData); } ); } }detalles.servicio.ts
import {Injectable} from '@angular/core'; import { Http, Response } from '@angular/http'; import 'rxjs/Rx'; @Injectable() export class DetailsService { constructor(private http: Http) {} getDetails() { return this.http.get('http://swapi.co/api/people/1/?format=json', '') .map( (response: Response) => { const orderData = response.json(); return orderData; } ); } }La firma del método http get es
get(url: string, options?: RequestOptionsArgs) : Observable<Response>Estás pasando un parámetro de cadena adicional
getDetails() { ///////////////removed below single quotes return this.http.get('http://swapi.co/api/people/1/?format=json') .map( (response: Response) => { const orderData = response.json(); return orderData; } );mira en tu
ngOnInit() { this.onGet(); //////////nothing passed } donde, como la firma de su método es onGet(name:string) , no está pasando nada como arriba
Su función OnGet espera un parámetro de cadena, que no se proporciona al llamar desde ngOnInit.