Работа над проектом Angular 6 с использованием angular / ui-router. Однако при создании моей собственной службы разрешения я получаю эту ошибку:
Transition Rejection($id: 0 type: 6, message: The transition errored, detail: Error: StaticInjectorError(AppModule)[kontentService]:
StaticInjectorError(Platform: core)[kontentService]:
NullInjectorError: No provider for kontentService!)
Ниже моя служба Resolver
import { Injectable } from '@angular/core';
import { KontentService } from './kontent.service';
@Injectable({
providedIn: 'root'
})
export class AppResolveService implements Resolve<any> {
pageConetnt: any;
constructor(public kontentService:KontentService) { }
resolve(route): Promise <any>{
return this.kontentService.deliveryClient.items()
.type("page_home")
.depthParameter(6)
.toPromise()
.then(response => {
this.pageConetnt = response.items[0];
console.log('respomnse::',response);
})
}
}
Ниже мой app.module.ts
const rootModule: RootModule = {
states: [
{
name: "home",
url: "",
data:{message:'TEST'},
component: HomeComponent,
resolve: {
pageContent: AppResolveService
}
},
{
name: "about",
url: "/about",
component: AboutComponent
}
],
};
@NgModule({
imports: [
BrowserModule,
RouterTestingModule,
UIRouterModule.forRoot(
rootModule
),
],
exports:[UIRouterModule],
declarations: [
AppComponent,
FooterComponent,
NavigationComponent,
HomeComponent,
SupportComponent,
AboutComponent,
],
providers: [KontentService,NavigationService,AppResolveService],
bootstrap: [AppComponent]
})
export class AppModule {}
Чего мне не хватает в этой реализации, так как в настоящее время моя разметка отображается до того, как данные могут быть переданы из другой моей службы, что делает ее неопределенной при загрузке.