habe ich einen Dienst wie folgt aus:Verwenden RouteParams in einem Dienst in Angular 2
import {Injectable} from 'angular2/core';
import {Router, RouteParams} from 'angular2/router';
@Injectable()
export class QService {
/* A service to handle a query (q) in the search string.
*/
constructor(
private _router:Router,
routeParams:RouteParams
) {
/* Set this._q from the search string.
*/
this._q = routeParams.get('q');
}
private _q:string
get q():string {
return this._q;
}
set q(q:string) {
this._q = q;
// TODO Add q back to the search string.
}
}
Leider, egal wie ich diesen Service zu nutzen, bekomme ich einen Fehler nach dem Vorbild der No provider for RouteParams
. Ich bin ratlos. Gibt es eine empfohlene oder einfache Methode, die ich verpasst habe?
Haben Sie hinzufügen 'ROUTER_PROVIDERS' zu' Bootstrap (AppComponent, [ROUTER_PROVIDERS]) '? –
Dieser Kommentar ist länger als nötig wegen der etwas seltsamen Regeln von Stack Overflow. Ja, mache ich. – astex
Können Sie versuchen: QService.params = [[Router], [RouteParams]] am Ende Ihres Codes? Außerdem füge ich Injektionen hinzu: [RouteParams], aber das ist in meiner @Component. Vielleicht können Sie dies auch versuchen –