web-dev-qa-db-fra.com

La propriété 'subscribe' n'existe pas sur le type '() => Observable <any>'

dossier de service 

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());
}


}

voici où la méthode subscribe montre cette erreur

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);
  }

  }

j'ai un fichier de service dans lequel je dois appeler mon API pour obtenir les API et quand je vais souscrire la méthode dans l'autre classe où j'appelle cette méthode de service getvideos (), puis en montrant l'erreur que la propriété "s'abonner" n'existe pas sur type () => observable

11
HASSAN MEHMOOD

Vous n'appelez pas la méthode getVideos. Vous appelez subscribe sur la référence de fonction getVideos et non la valeur renvoyée. Appelez subscribe après avoir appelé getVideos():

ngOnInit() {

     this.videoserv.getvideos()
        .subscribe(response => this.videos = response);
}
45
Saravana
ngOnInit() {

   this.videoserv.getvideos()
  .subscribe(responce=> this.videos = responce);
}

Vous devriez appeler la méthode getvideos() sur le service videoserv . Le (), getvideos manquait.

0
aogaga