Ich versuche verstehen, warum der Compiler die "angegebenen Parameter nicht mit jeder Signatur des Aufrufziels übereinstimmen" Fehler in diesem Code in Angular 2.0 kompiliert in es6.eckig 2 http erhalten Understanding "angegebene Parameter stimmen nicht mit Signatur des Aufrufziels überein"
Der Fehler ist auf der Linie this.observer_data = this.http.get(this.get_all_buchungen_url ...
Der Service bietet eine beobachtbare Ziel der „BuchungsPos“ Typ Hexe wird mit der load_and_init_buchungen()
Funktion initialisiert werden.
Service:
@Injectable()
export class ReadBuchungenService {
public observer_data : Observable<BuchungPos>;
constructor (private http : Http) {}
public load_and_init_buchungen(timestamp : number) {
let params = new URLSearchParams();
params.set('timestamp', String(timestamp));
this.observer_data =
this.http.get(this.get_all_buchungen_url, { search: params })
.map(response => response.json());
return;
}
...
Die importierte BuchngsPos Klasse wie folgt aussieht:
export class BuchungPos {
constructor(public id : number,
public date : string,
public name : boolean
) {}
}
im app.component
constructor(public readDataservice : ReadBuchungenService) {}
ngOnInit() {
this.readDataservice.load_and_init_buchungen(this.startTime);
}
und verwenden Sie das Objekt in anderen Komponenten:
export class TagComponent implements OnInit {
private buchungPos : BuchungPos;
constructor(private readBuchungenService : ReadBuchungenService) { }
ngOnInit() {
this.readBuchungenService.observer_data.subscribe(
function (data) {
this.buchungPos = data.data;
}.bind(this)
);
}
}
Ich habe bereits nach diesem Problem gesucht und einige Antworten gefunden, aber sie haben mir nicht geholfen, es zu verstehen.
chart.js - Supplied parameters do not match any signature of call target (angular2)
Statt 'funtion der Verwendung von (..) {...} .bind() 'Sie können einfach' (..) => {...} 'verwenden –