2016-11-09 3 views
12

Ich versuche ActivatedRoute-Komponente in meine Komponente zu injizieren, um auf die ID von zuzugreifen das Objekt, das ich bearbeite (oder um herauszufinden, dass es keinen ID-Parameter gibt, wird ein neues Objekt erstellt).Fehler: (SystemJS) Kann nicht alle Parameter für ActivatedRoute auflösen: (?,?,?,?,?,?,?,?)

Ich habe nur die Vorlage für die Komponente erstellt, und wenn ich Startseite laden (nicht Event der Seite mit der Komponente I verwendet werden soll) ich folgende Fehlermeldung erhalten:

Error: (SystemJS) Can't resolve all parameters for ActivatedRoute: (?, ?, ?, ?, ?, ?, ?, ?).

Das ist meine Code:

import { Component, OnInit } from '@angular/core'; 

import { ActivatedRoute} from "@angular/router"; 

@Component({ 
    selector: 'my-edit', 
    templateUrl: './templates/my-edit.htm', 
    providers: [ActivatedRoute] 
}) 

export class MyEditComponent implements OnInit { 

    constructor(private route : ActivatedRoute){ 
     console.log(route.params) 
    } 

    ngOnInit() : void { 
    } 

} 

Es auf dem Code von Beispiel von AngularJS Website (Helden) basiert, und ich wirklich nicht, wo hier das Problem ... Kann ich nicht importieren ActivatedRoute in Component, oder ich brauche etwas extra um es importieren zu können?

Meine Routing-Konfiguration ist:

@NgModule({ 
    imports: [ RouterModule.forRoot(routes) ], 
    exports: [ RouterModule ] 
}) 
export class AppRoutingModule {} 

wo routes die Sammlung von Routen sind, genau wie in Winkeln Beispiel und AppRoutingModule in app.module importiert.

+0

Haben Sie 'Router.forRoot()' im 'AppModule' bereitgestellt? –

+1

Und fügen Sie nicht die 'ActivatedRoute' zu' @ Component.providers' hinzu –

+0

@peeskillet es scheint zu sein, ich habe es falsch, ich dachte .Providers sind notwendig, um Params in Konstruktor –

Antwort

18

Entfernen providers: [ActivatedRoute] von @Component() gibt es keine Notwendigkeit dafür. RouterModule.forRoot() bietet bereits alles, was benötigt wird.

+1

injizieren Ja, nehme ich an Ich habe widerwillig eine Art Zyklus geschaffen ... –

Verwandte Themen