Javascript 角度8分解器未解析

Javascript 角度8分解器未解析,javascript,angular,typescript,angular-ui-router,angular-resolver,Javascript,Angular,Typescript,Angular Ui Router,Angular Resolver,我在解析器的构造函数中有console.log和ngOnInit(),但没有记录它们 解析:{serverResolver:ServerResolverDynamicDataService} log(“ServerResolverDynamicDataService构造函数”) console.log('ServerResolverDynamicDataService resolve:' 解析器: @Injectable() export class ServerResolverDynamicD

我在解析器的构造函数中有console.log和ngOnInit(),但没有记录它们

解析:{serverResolver:ServerResolverDynamicDataService}

log(“ServerResolverDynamicDataService构造函数”)

console.log('ServerResolverDynamicDataService resolve:'

解析器:

@Injectable()
export class ServerResolverDynamicDataService implements Resolve<ServerModel>{

    constructor(private serversService:ServersService){
        console.log("ServerResolverDynamicDataService constructor");
    }

    resolve(activatedRouteSnapshot: ActivatedRouteSnapshot, routerStateSnapshot: 
        RouterStateSnapshot): ServerModel | Observable<ServerModel> | Promise<ServerModel> {
            console.log('ServerResolverDynamicDataService resolve:'+activatedRouteSnapshot.params['id']);
        return this.serversService.getServer(+activatedRouteSnapshot.params['id']);
    }    
}
每当URL(
http://localhost:4200/servers/1?allowToEdit=0&allowTest=2#loadPage
)受到攻击,没有来自解析器的日志,但日志在代码中,如果我编辑应用程序日志的任何其他部分,应用程序将正确刷新。因此,应用程序更改反映了唯一的问题是未调用解析器

更新2
根据if I remove parent canActivateChild service,它正在工作。B但我不知道是什么问题。请帮助我理解。

冲突解决程序是一个服务,并且
OnInit
不会在服务中执行。事实上,除了
OnDestroy
,服务中没有其他生命周期挂钩


无论如何,我假设您的解析器是在某个地方提供的。如果不是,您应该在其装饰程序中使用一个参数:
@Injectable({providedIn:'root'})

谢谢您的回复,服务在app.module中注册为提供者:[ServersService,AuthGuardService,AuthService,CandeativeGuardService,ServerResolverDynamicDataService],
@Injectable()
export class ServerResolverDynamicDataService implements Resolve<ServerModel>{

    constructor(private serversService:ServersService){
        console.log("ServerResolverDynamicDataService constructor");
    }

    resolve(activatedRouteSnapshot: ActivatedRouteSnapshot, routerStateSnapshot: 
        RouterStateSnapshot): ServerModel | Observable<ServerModel> | Promise<ServerModel> {
            console.log('ServerResolverDynamicDataService resolve:'+activatedRouteSnapshot.params['id']);
        return this.serversService.getServer(+activatedRouteSnapshot.params['id']);
    }    
}
  providers: [ServersService,AuthGuardService,AuthService,CanDeativateGuardService,ServerResolverDynamicDataService],