Angular2 valeur Inattendue du Service. Veuillez ajouter l'annotation
Dans mon Angular2 application obtiens l'erreur suivante Erreur: (SystemJS) valeur Inattendue 'ReleasesService" déclarée par le module "AppModule'. S'il vous plaît ajouter un @Pipe/@Directive/@Composant d'annotation.
Mon AppModule:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { routing } from './app.routes';
import { HttpModule } from '@angular/http';
import { SearchFilter } from '../app/search-filter.pipe';
import { ReleasesService } from '../app/releases/releases.service';
import { AppComponent } from './app.component';
import { HomeComponent } from '../app/home/home.component';
import { ReleasesComponent } from '../app/releases/releases.component';
import { DistroComponent } from '../app/distro/distro.component';
import { ContactComponent } from '../app/contact/contact.component';
@NgModule({
imports: [ BrowserModule, HttpModule, routing ],
declarations: [ AppComponent,
SearchFilter,
HomeComponent,
ReleasesComponent,
ReleasesService,
DistroComponent,
ContactComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Mon ReleasesService:
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { IRelease } from './release';
import 'rxjs/add/operator/map';
@Injectable()
export class ReleasesService {
getReleases() {
return IRelease;
}
}
Comment résoudre ce problème? J'ai réinstallé le de démarrage rapide (la base pour mon Application), et d'avoir le même message d'erreur lorsque vous essayez de créer le service.
Vous devez vous connecter pour publier un commentaire.
declarations
est seulement pour declarable classes: Composants des Directives et des TuyauxVous pouvez ajouter
ReleasesService
àproviders
tableauVoir aussi
J'ai eu un problème similaire, survenant lors d'un projet avait angular2 comme la dépendance et une dépendance de projet (avec les composants défectueux) ainsi. Semble comme angular2 métadonnées sont attachées à l'direct angular2 de dépendance, de sorte que le composant dans le projet de dépendance n'était pas déclarée dans le angular2 du projet.
Solution consiste à supprimer angular2 de la dépendance (à la déclaration de sa devDependency), et d'utiliser un seul angular2 instance.
Être sûr que le décorateur a le caractère @.
Si vous ne tapez @ devant la fonction décorateur, vous aurez ce message d'erreur