typescript - Nästlade tjänster i Angular 2
När man nestar en tjänst i en annan tjänst i Angular 2 genereras inga typescript-fel. Men när sidan med den översta komponenten laddas loggas följande fel i konsolen: EXCEPTION: No provider for ConfigService! (AdminAreaComponent -> CoreService -> ConfigService)
Vad behöver jag göra för att förhindra detta?
app.ts:
import {bootstrap} from 'angular2/platform/browser'
import {AdminAreaComponent} from './components/adminArea.component'
var adminArea = bootstrap(AdminAreaComponent);
adminArea.component.ts
import {Component} from 'angular2/core'
import {CoreService} from '../services/core.service'
@Component({
selector: 'admin-area',
templateUrl: 'partials/adminArea.html',
providers: [CoreService]
})
export class AdminAreaComponent {
constructor(private coreService: CoreService) {}
}
core.service.ts
import {Injectable} from 'angular2/core'
import {ConfigService} from './config.service'
@Injectable()
export class CoreService {
constructor(private configService : ConfigService) { }
}
config.service.ts
import {Injectable} from 'angular2/core'
@Injectable()
export class ConfigService {
constructor() { }
}
Svar #1
Verkar som ConfigService inte är listad bland leverantörerna i
bootstrap(AppComponent, [... CoreService, ConfigService])
eller i leverantörslistan för komponenten (om du vill begränsa tjänstens omfattning) som nämnts av Eric.
