La propriété 's'abonner' n'existe pas sur le type " () => Observable<aucun>'

service fichier

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


}

c'est là que la méthode subscribe montrant 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 le fichier de service dans lequel je dois appeler mon api pour obtenir l'api et quand je vais pour vous abonner à la méthode dans l'autre classe où je suis en appelant cette méthode de service getvideos() puis son montrant l'erreur qui a la propriété de "s'abonner" n'existe pas sur le type ()=> observable

Aussi, switch est un mot protégé. Vous ne serez pas en mesure de l'utiliser comme un nom de variable.

OriginalL'auteur HASSAN MEHMOOD | 2017-05-21