dependency injection - use custom service with angular service in another service - angular2 -
i have 2 services 1 of them(logger) going used another(settingservice), have searched lot , see other questions , answers problem no luck, i've read document angualr.io/when service needs service
here code 2 services
logger service
@injectable() export class logger { public logs: string[] = []; //do stuffs }
settingservice
@injectable() export class settingservice { private url = '/setting'; private headers = new headers({ 'content-type': 'application/json' }); constructor(private http: http,private logger: logger) { } //problem here //do stuffs }
the settingservice
using both http
, logger
, have component app.component
uses settingservice
, here app.component
, app.module
app.component.ts
@component({ moduleid: module.id, selector: 'my-app', templateurl: 'app.component.html', styleurls: ['app.component.css'] }) export class appcomponent implements oninit { constructor(private settingservice: settingservice) { } }
app.module.ts
@ngmodule({ imports: [ browsermodule, formsmodule, httpmodule ], declarations: [appcomponent], providers: [logger, settingservice], bootstrap: [ appcomponent ] }) export class appmodule { }
but unfortunately error says : (systemjs) can't resolve parameters settingservice: ([object object], ?).error: can't resolve parameters settingservice: ([object object], ?)
wrong??
this plunker, that's not working!
try change order of import services appmodule or try use forwardref() in settingservice, such constructor(private http: http, @inject(forwardref(() => logger)) private logger: logger)
Comments
Post a Comment