servicedatei
import { Observable } from 'rxjs/Rx';
import { Http,Response} from '@angular/http';
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/Map';
@Injectable()
export class VideoService {
private geturl='/api/videos';
constructor(private _http:Http) { }
getvideos()
{
return this._http.get(this.geturl)
.map((response:Response) => response.json());
}
}
hier setzt die subscribe-Methode an, die diesen Fehler anzeigt
import { VideoService } from '../video.service';
import { Component, OnInit } from '@angular/core';
import {Video} from '../video';
import {Observable} from 'rxjs/Observable';
@Component({
selector: 'app-videocenter',
templateUrl: './videocenter.component.html',
styleUrls: ['./videocenter.component.css']
})
export class VideocenterComponent implements OnInit {
videos: any;
onselectvideo:Video;
switch:boolean=false
constructor(private videoserv:VideoService) {
//console.log(this.videos);
}
onselect(vid:any)
{
this.switch=true;
this.onselectvideo =vid;
console.log(vid);
}
ngOnInit() {
this.videos=this.videoserv.getvideos
.subscribe(responce=>this.videos=responce);
}
}
ich habe eine Service-Datei, in der ich meine API anrufen muss, um die APIs zu erhalten. Wenn ich die Methode in der anderen Klasse abonnieren möchte, in der ich diese Service-Methode getvideos () anrufe, wird der Fehler angezeigt, dass die Eigenschaft "Abonnieren" existiert nicht bei type () => observable
Sie rufen die getVideos
-Methode nicht auf. Sie rufen subscribe
in der Funktionsreferenz von getVideos
und nicht den zurückgegebenen Wert auf. Rufen Sie subscribe
auf, nachdem Sie getVideos()
aufgerufen haben:
ngOnInit() {
this.videoserv.getvideos()
.subscribe(response => this.videos = response);
}
ngOnInit() {
this.videoserv.getvideos()
.subscribe(responce=> this.videos = responce);
}
Sie sollten die getvideos()
-Methode für den videoserv
-Dienst aufrufen .__ Sie hatten den ()
vermisst, getvideos
ist eine Methode und keine Eigenschaft.