Ho due servizi: AuthService e MonBanquetService e AuthService dipende da MyService. Ecco il codice di base di questi 2 servizi:Angular2 Inietta il servizio in un altro servizio crea 2 istanze
AuthService.ts:
import {Inject, Injectable} from 'angular2/core';
import {MonBanquetService} from '../monbanquet.service'
@Injectable()
export class AuthService {
public username: string;
constructor(protected _monBanquetService: MonBanquetService) {
// do something()
}
}
MonBanquetService.ts
import {Injectable, Component} from 'angular2/core';
import {Http, Headers, Response} from 'angular2/http';
import {Router} from 'angular2/router';
@Injectable()
export class MonBanquetService {
constructor(public http: Http, private _router: Router) {
console.log('MonBanquetServices created');
}
}
e ho messo questi due servizi come fornitori in boot.ts:
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(LocationStrategy, {useClass: HashLocationStrategy}),
HTTP_PROVIDERS,
MonBanquetService,
AuthService
]);
Tuttavia, quando eseguo l'app, vedo i due registri della console 'MonBanquetServices creati'. Pensavo che i servizi dovessero essere singoletti, come mai ci sono due istanze?
Grazie.
allora Idealmente si dovrebbe solo aggiungere '' AuthService all'interno dipendenza bootstrap, che creerà un'istanza di 'MonBanquetService' acquisendo internamente. –