我已经为这个问题进行了很多搜索,但是找不到任何相关文章或者stackoverflow问题,尽管有很多相同标题的问题,但情景不同。我无法在服务的构造函数上要求依赖,这就是我收到此错误的原因。
Bootstrap at least one component before injecting Router. ; Zone: <root> ; Task: Promise.then ; Value: Error: Bootstrap at least one component before
注意:如果我只是在clear the constructor
中定义CustomerService class
个依赖关系,那么它就像魅力一样。
@Injectable()
export class CustomerService
constructor(private authService: AuthService, private siteService: SiteService) { }
AuthService和站点服务类及其依赖项加载没有问题。只是AuthService和SiteService类的一些sudo外观
@Injectable()
export class AuthService
constructor(private http: Http, private storageService: StorageService,
private siteService: SiteService, private router: Router) {}
@Injectable()
export class SiteService {
constructor(private http: Http, private storageService: StorageService) {}
还有App Module
@ngModule
装饰者。
@NgModule({
declarations: [
AppComponent,
AuthComponent,
LoginComponent,
HeaderComponent,
SignupComponent,
CompanyComponent,
Step2Component
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
AngularAppRoutingModule
],
providers: [ AuthGuard, AuthService, StorageService, StepsNavigatorGuard, SiteService, CustomerService],
bootstrap: [AppComponent]
})
注意:问题仍然存在于CustomerService
。如果我尝试将其从AppModule
中的提供程序数组中删除或清除它的constructor
依赖项,那么应用程序运行正常。
任何帮助都会受到赞赏。
答案 0 :(得分:5)
我使用的是角度路由器版本
"@angular/router": "3.0.0"
并尝试将其更新为
"@angular/router": "3.1.0"
像魅力一样工作。 :)