Служба ввода 2-х компонент Angular: "Свойство [ts] не существует в типе"

Я нуб в Angular 2. Я занимаюсь разработкой простого приложения. У меня проблема при использовании службы в приложении Angular 2. Когда я хочу использовать его для компонента, я не могу использовать метод сервиса getFavoritos() для метода компонента ngOnInit().

Консоль узла показывает это сообщение:

ERROR in src/app/favoritos-list/favoritos-list.component.ts(30,31): error 
TS2339: Property 'getFavoritos' does not exist on type 'typeof 
FavoritosService'. 

Это мой сервис:

favoritos.service.ts

import { Settings } from './../settings/settings';
import { Favorito } from './../models/favorito';
import { Injectable } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import 'rxjs/add/operator/map' ;
import {Observable} from 'rxjs/Observable';

@Injectable()
export class FavoritosService {

public url: string;

constructor(private _http: Http) {
   this.url = Settings.GET_FAVORITOS;
}

getFavoritos() {
   return this._http.get(this.url)
      .map( res => res.json()) ;
}
}

Это мой компонент:

Favoritos-list.component.ts

import { Favorito } from './../models/favorito';
import { FavoritosService } from './../service/favoritos.service'; 
import { Component, OnInit} from '@angular/core'; 

@Component({
   providers : [FavoritosService], 
   selector: 'app-favoritos-list',
   templateUrl: './favoritos-list.html',
   styleUrls: ['./favoritos.css']
})

export class FavoritosListComponent implements OnInit {
   public title: string;
   public errorMessage;


   constructor(       
      private _favoritoService = FavoritosService;        
   ) {
      this.title = 'Listado de marcadores:';
   }

   ngOnInit() {
      console.log('Favoritos list cargando...');
      this._favoritoService.getFavoritos().subscribe(
         //Compiler doesn't recognize getFavoritos()            
         result => {
            console.log(result);
         },
         error => {
            this.errorMessage = <any>error;
            if (this.errorMessage != null) {
                console.log(this.errorMessage);
                alert('Error en la petición');
            }
         }
     );
  }
 }

заранее спасибо

1 ответ

Решение

Я нашел решение по этой ссылке:

https://www.reddit.com/r/Angular2/comments/6ovswj/property_get_does_not_exist_on_type_typeof/

На конструкторе компонентов я положил:

private _favoritoService = FavoritosService;    

Вместо:

private _favoritoService : FavoritosService;    

Я использую для кодирования Visual Studio Code с помощью плагинов Angular 2, таких как TSLint. Я очень удивлен, что эта IDE не показывает ошибки в этой строке

Другие вопросы по тегам